BCE-Serverless-Application-Model规范
所有文档

          函数计算 CFC

          BCE-Serverless-Application-Model规范

          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使用示例