上云无忧 > 文档中心 > 使用百度智能云函数计算 CFC 层管理依赖包-Python
函数计算CFC
使用百度智能云函数计算 CFC 层管理依赖包-Python

文档简介:
现在 CFC 新增了“层( Layer )” 功能使得可以单独上传并集中管理CFC的依赖包了,这样开发者开发函数代码的时候只需要关注该函数本身的代码,依赖包只需要引用即可。这样有以下的好处。开发者可以只关注函数代码,不用考虑依赖包的部署。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

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

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.py

1 directory, 2 files

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

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

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

    2.创建层 到CFC的层控制台,创建一个新的层

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

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

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

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

修改代码如下

# -*- coding: utf-8 -*-
import os

def 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 os
import layer_test

def handler(event, context): 
    print(os.system('ls -l /opt'))
    print(layer_test.var_test_layer)
    return "Hello World"

执行函数

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

相似文档
  • CFC支持配置死信队列,如果用户设置了死信队列,则异步调用重试3次失败的事件会直接发送到用户的死信队列中,以供用户分析失败原因。 有以下两种方式为函数配置死信队列: 通过API方式:在创建函数或更新函数配置接口中指定函数的DeadLetterTopic。 通过控制台:在创建函数后,进入函数详情页,为函数添加死信队列。
  • 默认情况下,CFC调用函数超时时间为300s,为了满足长时应用的需求,CFC支持扩展函数最大超时时间(最大可支持1800s),并以异步调用的方式调用最大超时时间超过300s的函数。
  • 并发度指在某个时刻并发执行的函数量,而非以分钟或秒为单位统计的调用量。默认情况下,您的账户在 CFC 的每个服务地域均有 100 的并发额度,您的函数的所有并发执行数量会计入此账户级别限制。也就是说,在某个地域的某个时刻,您的账户下最多可以有 100 个函数在同时执行。
  • 函数计算为每个账户默认设置100的并发额度,用户账户下的所有函数的并发执行数量会计入该账户级别限制。即在某个地域的某个时刻,您的账户下最多可以有100个函数在同时执行。当用户函数数量较多时,账户级别的并发度可能会限制函数并发请求量,为了保证函数级别的高并发请求,CFC支持单实例多并发的功能,用户可以为单个函数设置单实例并发度,提高单个函数的并发执行限制。
  • 服务是函数计算资源管理的单位。从资源使用维度出发,一个服务可以由多个函数组成。函数按服务维度来拆分管理,易于不同人员管理维护。在创建云函数时,您可以选择函数所在的服务,从而更有效地管理您的云函数。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部