层操作指南
层介绍
CFC的层是一种包含库或其他依赖项的zip代码包,用户可以通过本地上传和BOS地址的方式来上传层。CFC的层会将上传的zip代码包固定解压到/opt目录。每个运行时(runtime)将查找位于/opt目录下的库。
您可以配置函数使用CFC层,可以是您自己创建的层或者是CFC提供的公共层,这样您可以在函数中使用库,而不用将库包含在函数程序包之中。
使用层的好处
- 使用层会使您的函数程序包更小,只关注核心代码,使开发变得更加轻松方便。
- 使用层也可以避免在制作函数zip包和依赖项过程中可能出现的错误。
注意
一个函数最多可以添加5个层,函数和层的总解压大小不能超过250M的限制。
层的使用
您可以使用自己创建的层,也可以使用公共层(公共层为CFC遴选出来的常见依赖包)。
在函数创建时或者更新函数时,您可以在函数配置中指定最多5个层。
在函数中使用层
您可以在函数创建时为函数添加层,或者为已经创建好的函数添加层。要将层添加到函数之中,可以按照如下方式操作。
1.进入CFC控制台,点击函数列表,选择函数
2.进入函数详情页面,选择层配置
3.点击添加层,在弹窗中选择一个层和版本,可以选择公共层(CFC遴选出的基础依赖),私有层(用户自己创建的层)
4.选择好层之后,选择层的版本,点击确定
5.点击确定后会进入层配置列表页,如果有多个层需要添加,那么层会按照指定的顺序合并,如果同一文件出现在多个层中,则使用最后应用的层中的版本,可以使用右侧的上下箭头调整顺序,最后点击确定。
6.层就已经添加完成。
您的函数在 /opt 目录中执行期间可访问层内容。层按指定的顺序应用,这将合并任何具有相同名称的文件夹。如果同一文件出现在多个层中,则使用最后应用的层中的版本。
层的创建者可删除您使用的层的版本。但是您的函数可以继续正常运行,就好像层版本仍然存在一样。但在更新层配置时,必须先删除对已删除版本的引用。
管理层
创建层,每次创建层时要输入名称,描述,zip压缩包。运行时列表是可选的,在未函数添加层时控制台会根据函数的运行时来选择层。 如果想修改层,您必须要创建新的版本,已经创建好的层是无法修改的。
1.您可以进入CFC控制台的层列表,点击创建层来管理您创建的层
2.在弹出的对话框中填入层名称,描述,选择运行时,最多选择5个运行时,在函数中选择配置层时会根据运行时来筛选层,您可以使用zip包上传,也可以从BOS上传zip包。
3.创建好之后会进入层详情页面,我们可以看到版本信息,详情等资料,如果要修改层只能点击发布新版本来创建一个新层,已经发布的层是无法修改的。
4.发布新版本和创建层基本一致
5.查看层列表,可以点击层名称来查看层的所有版本
6.点击删除按钮来删除层
注意 在删除一个层之后,您无法在函数中新配置该层,但是已有的函数不会受到影响。
如何在层中包含库和依赖
您可以在层中添加各种CFC支持的运行时的依赖项,这样可以把这些依赖项从函数代码中移除。CFC的运行时包括了/opt目录中的路径,您可以在函数中直接访问库和依赖。
将库和依赖放入层中,您需要将库和依赖放入指定的文件夹中。
-
nodejs nodejs/node_modules,nodejs/node8/node_modules
nodejs_layer.zip └── nodejs/node_modules/bce-sdk-js
-
python python,python/lib/python3.8/site-packages
python_layer.zip └── python/bce-sdk-python
-
全部语言 bin(PATH) ,lib(LD_LIBRARY_PATH) 您可以把bin和lib放到对应的目录
mybin.zip └── bin/mybin