一、定时触发器
该参数直接填写 Cron 表达式,相关内容请参考 Cron 表达式。
二、TriggerDesc 示例
每五分钟触发一次
0 */5 * * * * *
三、API 网关触发器
| 名称 | 类型 | 必选 | 描述 |
| api | ApigwApi | 否 | 创建 API 网关的 API 配置。 |
| service | ApigwService | 否 | 创建 API 网关的 Service 配置。 |
| release | ApigwRelease | 否 | 创建 API 网关后,发布的环境。 |
四、ApigwApi
| 名称 | 类型 | 必选 | 描述 |
| authRequired | String | 否 | 是否需要鉴权,可选 TRUE 或者 FALSE,默认为 FALSE。 |
| requestConfig | ApigwApiRequestConfig | 否 | 请求后端 API 的配置。 |
| isIntegratedResponse | String | 否 | 是否使用集成响应,可选 TRUE 或者 FALSE,默认为 FALSE。 |
| IsBase64Encoded | String | 否 | 是否打开 Base64 编码,可选 TRUE 或者 FALSE,默认为 FALSE。 |
五、ApigwApiRequestConfig
| 名称 | 类型 | 必选 | 描述 |
| method | String | 否 | 请求后端 API 的 method 配置,必须是 ANY、GET、HEAD、POST、PUT、DELETE 中的一种。 |
六、ApigwService
| 名称 | 类型 | 必选 | 描述 |
| serviceId | String | 否 | Apigw Service ID(不传入则新建一个 Service)。 |
七、ApigwRelease
| 名称 | 类型 | 必选 | 描述 |
| environmentName | String | 是 | 发布的环境,填写 release、test 或 prepub,不填写默认为release。 |
八、TriggerDesc 示例
{ "api":{ "authRequired":"FALSE", "requestConfig":{ "method":"ANY" }, "isIntegratedResponse":"FALSE" }, "service":{ "serviceName":"SCF_API_SERVICE" }, "release":{ "environmentName":"release" }}
九、Ckafka 触发器
| 名称 | 类型 | 必选 | 描述 |
| maxMsgNum | String | 是 | 5秒内每汇聚 maxMsgNum 条 Ckafka 消息,则触发一次函数调用。 |
| offset | String | 是 | offset 为开始消费 Ckafka 消息的位置,目前支持 latest、earliest 和毫秒级时间戳三种方式。 |
| retry | String | 是 | 当函数报错时最大重试次数。 |
| timeOut | String | 是 | 单次触发的最长等待时间,可选时间范围1~60。 |
| consumerGroupName | String | 否 | 指定消费组名称,可实现使用已有CKafka消费组 或 自定义消费组名称的效果,为空时将按照默认命名规则创建消费组。 |
| easConfig | String | 否 | 开启加密访问时,需传入用户名、密码。 |
十、TriggerDesc 示例
{ "TriggerDesc": { "maxMsgNum": 100, "offset": "latest", "retry": 10000, "timeOut": 60, "consumerGroupName": "scf_ckafka-w4pn52ndtopic-bf9fom5klam-phiy2wrg1", "easConfig": { "userName": "test3423", "password": "cccc34567" } }}
{ "TriggerDesc": { "maxMsgNum": 100, "offset": "latest", "retry": 10000, "timeOut": 1, "consumerGroupName":null, "easConfig": { "userName": null, "password": null } }}
十一、API 请求说明
使用 API 请求创建 Ckafka 触发器时,TriggerName 字段需定义为要转储的 Ckafka instanceId,topicName 信息。
[instanceId]-[topicName],请求示例如下:
TriggerName: "ckafka-8tfxzia3-test"
十二、COS 触发器
| 名称 | 类型 | 必选 | 描述 |
| event | String | 是 | COS 的事件类型 |
| filter | CosFilter | 是 | COS 文件名的过滤规则。 |
十三、CosFilter
| 名称 | 类型 | 必选 | 描述 |
| Prefix | String | 否 | 过滤文件的前缀规则。 |
| Suffix | String | 否 | 过滤文件的后缀规则,必须以.开头。 |
十四、COS 事件冲突规则
·核心思想:一个事件最多触发一次函数调用。如果一个事件有其他产品绑定,该事件也不可再绑定至函数。
·最多设置一个前缀过滤及一个后缀过滤。
·若已设置 cos:ObjectCreated:* 事件,且没有设置前后缀,则后续再绑定任何以 cos:ObjectCreated 作为开头的事件都会失败。
·前缀及后缀均匹配才有效,且当前缀和后缀都冲突的时候,后面的绑定会失败。
十五、TriggerDesc 示例
{"event":"cos:ObjectCreated:*","filter":{"Prefix":"","Suffix":""}}
注意:在 TriggerDesc 中作为触发器描述时,JSON 字符串须是连续且中间不能有空格的字符串。
十六、API 请求说明
使用 API 请求创建 COS 触发器,TriggerName 字段需定义为要转储的 COS 存储桶 XML API 访问域名,示例如下:
TriggerName: "xxx.cos.ap-guangzhou.myqcloud.com"
注意:访问域名请在对象存储控制台存储桶列表 > 基础配置 > 基本信息中查看。
十七、CMQ 触发器
| 名称 | 类型 | 必选 | 描述 |
| filterType | String | 否 | 消息过滤类型,1为标签类型,2为路由匹配类型。 |
| filterKey | String | 否 | 当 filterType 为1时表示消息过滤标签,当 filterType 为2时表示 Binding Key。 |
十八、TriggerDesc 示例
{"filterType":1,"filterKey":["test"]}
{"filterType":2,"filterKey":["#test"]}
十九、API 请求说明
使用 API 请求创建 CMQ 触发器,TriggerName 字段需定义为 CMQ Topic,示例如下:
TriggerName: "Tabortest"