上云无忧 > 文档中心 > 百度智能云函数计算 CFC BCE-Serverless-Application-Model规范
函数计算CFC
百度智能云函数计算 CFC BCE-Serverless-Application-Model规范

文档简介:
BCE SAM是用来定义百度函数计算CFC无服务器应用架构的模型,为本地开发工具bce-sam-cli提供指引。BCE SAM定义了一组对象,这些对象可以包含在模板定义文件中,以便轻松地描述CFC函数。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

BCE SAM是用来定义百度函数计算CFC无服务器应用架构的模型,为本地开发工具bce-sam-cli提供指引。BCE SAM定义了一组对象,这些对象可以包含在模板定义文件中,以便轻松地描述CFC函数。

当前BCE SAM的版本号为2018-08-30。

BCE SAM模板

Description:
    bsam-app
    
Resources:
    HelloWorldFunction:
        Type: BCE::Serverless::Function
        Properties:
            CodeUri: hello_world/
            Handler: app.cfc_handler
            Runtime: python2.7
            Environment:
                Variables:
                    PARAM1: VALUE
            Events:
                HelloBos:
                    Type: BOS
                    Properties:
                        Bucket: mybucket
                        Prefix: images/
                        Suffix: .jpg
                        EventTypes: [PutObject, PostObject]
                HelloDuerOS:
                    Type: DuerOS

说明:

所有的属性字段都是大小写敏感的。

规范详解

描述符合BCE SAM的CFC应用程序的文件格式为YAML,它包含了Resource、Property和Event Source三个部分,它们共同定义了一个CFC应用。

Resource

BCE::Serverless::Function

表示一个CFC函数,其包含的属性如下:

属性名 类型 描述
Handler string 必需. 用户代码中的启动函数
Runtime string 必需. 运行时环境
CodeUri string 必需. 代码路径
Description string 函数的描述
MemorySize integer 每次调用函数分配的内存大小(MB), 默认为128
Timeout integer 函数运行超时时间,默认为3s
Environment Environment Object 设置函数执行时的环境变量
Events map of string to Event Source Object 设置函数触发器的键值对

Property

Environment Object

描述函数环境变量属性的对象,属性如下:

属性名 类型 描述
Variables map of string to string 定义环境变量键值对,其中变量名称是键,变量值是值。变量名称仅限于字母数字字符,第一个字符必须是字母。值仅限于字母数字字符和以下特殊字符_(){} [] $ * + - \ /“#',;。@ !?。

范例:

Variables:
  TABLE_NAME: my-table
  STAGE: prod

Event Source Object

描述函数触发器的对象,属性如下:

属性名 类型 描述
Type string 必需. 触发器类型,目前支持的种类有"BOS","HTTP","DuerOS"
Properties map 触发器的详细配置键值对,根据Type类型而定,详细参考Event Source Types

BOS触发器范例:

Type: BOS
Properties: 
	Bucket: myBucket 
	EventTypes: [PutObject, PostObject]
	Prefix: images/
	Suffix: .jpg

DuerOS触发器范例:

Type: DuerOS

HTTP触发器范例:

Type: HTTP
Properties: 
	ResourcePath: /hello-world
	Method: [GET, POST]
	AuthType: anonymous

Event Source

BOS

配置BOS触发器,当Bucket上发生您指定的事件时,BOS会向CFC调用您的函数。

属性名 类型 描述
Bucket string 必需. BOS bucket 名字
EventTypes string | List of string 必需. 触发事件类型
Prefix string 前缀
Suffix string 后缀

DuerOS

创建DuerOS触发器,允许DuerOS平台调用您的CFC函数。 DuerOS无其它属性。

HTTP

配置HTTP触发器,将函数关联到一个URL上,通过HTTP方法执行函数。

属性名 类型 描述
ResourcePath string 必需. 访问路径,例如/hello-world
Method string | List of string 必需. 触发器匹配的HTTP方法
AuthType string 必需. 身份验证方式,可选值为"iam","anonymous"
相似文档
  • BSAM CLI是一个基于BCE SAM规范的命令行工具,它提供了本地开发环境,帮助您在把函数上传到百度智能云CFC之前,在本地进行函数的开发、分析和执行。
  • “部署程序包”是 CFC 运行您的函数时需要的 zip 压缩包,在创建函数时需要指定部署程序包。您可以在 CFC 的控制台编写代码或者自行创建 zip 程序压缩包。
  • Baidu Serverless VSCode Extension 是百度云 Serverless 产品 CFC 的 VSCode 插件,该插件结合了 CFC 本地命令行工具 BSAM CLI,可以帮您快速创建、管理本地的 CFC 函数,同时借助 Docker 轻松实现函数在本地的执行和 Debug。
  • 函数计算CFC(Cloud Function Compute)提供基于事件触发、全托管的云端计算能力。函数计算通过事件触发器连接到其他服务,当对应服务发出请求时,函数即会响应运行,作出相应处理和反馈。例如:通过BOS触发器将函数连接到百度智能云对象存储服务,设置函数响应BOS的新建对象事件。当用户的对象存储中增加新的文件时,函数即被触发执行,对新上传的文件进行诸如内容检查等操作。
  • 用户可以为新建的函数或已有函数配置CDN触发器,创建函数的流程可以具体参考 创建函数 这里不再赘述。 这里假设用户已完成一个名为hello-cdn的Python函数的创建,以下内容以此为前提,指引用户在CFC控制台在函数管理页面中为函数配置触发器。接下来,我们将通过三步来完成一个触发器的设置。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部