腾讯云代金券

腾讯云函数计算层管理依赖包-Python制作和引用

现在 腾讯云函数计算 新增了“层( Layer )” 功能使得可以单独上传并集中管理腾讯云函数计算的依赖包了,这样开发者开发函数代码的时候只需要关注该函数本身的代码,依赖包只需要引用即可。这样有以下的好处。开发者可以只关注函数代码,不用考虑依赖包的部

现在 腾讯云函数计算 新增了“层( Layer )” 功能使得可以单独上传并集中管理腾讯云函数计算的依赖包了,这样开发者开发函数代码的时候只需要关注该函数本身的代码,依赖包只需要引用即可。这样有以下的好处。开发者可以只关注函数代码,不用考虑依赖包的部署。


Python依赖包制作

1.打包先把要共享的代码保存在本地电脑的python目录下,本例中创建文件名为layer_test.py,代码如下

var_test_layer = "this is cfc layer"

然后把layer_test.py制作成zip压缩包,需要注意目录结构,本例子中打完包的目录结构如下

zip -r layer_test.zip *adding: python/ (stored 0%)adding: python/layer_test.py (deflated 8%)tree.├── layer_test.zip└── python └── layer_test.py1 directory, 2 files

腾讯云函数计算运行时会将层放在/opt 目录下并根据不同运行环境下的目录来调用,需要按照如下的结构来打包

  • python python,python/lib/python3.8/site-packages

    ```python_layer.zip└── python/bce-sdk-python```

    2.创建层到腾讯云函数计算的层控制台,创建一个新的层

输入层,描述,选择刚才的zip包上传,点击创建

这样层就创建成功了。以后如果要更新,在层详情里点“创建版本”进行新建一个层。

注意层版本是不可修改的,如果一个版本被删除,已经引用了该版本的腾讯云函数计算函数依然是能工作的,但新建函数中是不能去引用这个被删除的层版本。

3.创建函数到函数菜单下创建新的函数,选择语言python2.7

修改代码如下

# -*- coding: utf-8 -*-import osdef handler(event, context): print(os.system('ls -l /opt')) return "Hello World"

此时层还没有引入函数,先运行一下看看

/opt 目录下没有内容

4.引入layer,在函数的层配置里点击添加层

在弹窗中选择刚刚创建的层python_test 选择版本1,点击确定

最多可以添加5个层,如果有多个层,如果有同名文件存在序号大的会覆盖序号小的。可以点击上下箭头修改顺序

确定层之后,点击保存,保存层配置。

5.测试此时执行函数的时候,层会被解压到/opt目录下,修改一下函数代码

# -*- coding: utf-8 -*-import osimport layer_testdef handler(event, context): print(os.system('ls -l /opt')) print(layer_test.var_test_layer) return "Hello World"

执行函数

能看到输出了层中的变量, /opt下存在python目录。这个就是保存依赖包的目录。



上一篇:腾讯云函数计算层依赖包-Node.js制作和使用 下一篇:没有了