上云无忧 > 文档中心 > 百度智能云函数计算 CFC 层操作指南
函数计算CFC
百度智能云函数计算 CFC 层操作指南

文档简介:
CFC的层是一种包含库或其他依赖项的zip代码包,用户可以通过本地上传和BOS地址的方式来上传层。CFC的层会将上传的zip代码包固定解压到/opt目录。每个运行时(runtime)将查找位于/opt目录下的库。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

层介绍

CFC的层是一种包含库或其他依赖项的zip代码包,用户可以通过本地上传和BOS地址的方式来上传层。CFC的层会将上传的zip代码包固定解压到/opt目录。每个运行时(runtime)将查找位于/opt目录下的库。

您可以配置函数使用CFC层,可以是您自己创建的层或者是CFC提供的公共层,这样您可以在函数中使用库,而不用将库包含在函数程序包之中。

使用层的好处

  1. 使用层会使您的函数程序包更小,只关注核心代码,使开发变得更加轻松方便。
  2. 使用层也可以避免在制作函数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

示例

  1. 使用CFC层管理依赖包-Python
  2. 使用CFC层管理依赖包-Node.js.md
相似文档
  • 现在 CFC 新增了“层( Layer )” 功能使得可以单独上传并集中管理CFC的依赖包了,这样开发者开发函数代码的时候只需要关注该函数本身的代码,依赖包只需要引用即可。这样有以下的好处。开发者可以只关注函数代码,不用考虑依赖包的部署。
  • 现在 CFC 新增了“层( Layer )” 功能使得可以单独上传并集中管理CFC的依赖包了,这样开发者开发函数代码的时候只需要关注该函数本身的代码,依赖包只需要引用即可。这样有以下的好处。开发者可以只关注函数代码,不用考虑依赖包的部署。
  • CFC支持配置死信队列,如果用户设置了死信队列,则异步调用重试3次失败的事件会直接发送到用户的死信队列中,以供用户分析失败原因。 有以下两种方式为函数配置死信队列: 通过API方式:在创建函数或更新函数配置接口中指定函数的DeadLetterTopic。 通过控制台:在创建函数后,进入函数详情页,为函数添加死信队列。
  • 默认情况下,CFC调用函数超时时间为300s,为了满足长时应用的需求,CFC支持扩展函数最大超时时间(最大可支持1800s),并以异步调用的方式调用最大超时时间超过300s的函数。
  • 并发度指在某个时刻并发执行的函数量,而非以分钟或秒为单位统计的调用量。默认情况下,您的账户在 CFC 的每个服务地域均有 100 的并发额度,您的函数的所有并发执行数量会计入此账户级别限制。也就是说,在某个地域的某个时刻,您的账户下最多可以有 100 个函数在同时执行。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部