ALIYUN::FC::Trigger类型用于触发函数执行的方式。
在事件驱动的计算模型中,事件源是事件的生产者,函数是事件的处理者,而触发器提供了一种集中和统一的方式来管理不同的事件源。在事件源中,当事件发生时,如果满足触发器定义的规则,事件源将调用触发器所对应的函数。
语法
{
"Type": "ALIYUN::FC::Trigger",
"Properties": {
"TriggerConfig": Map,
"InvocationRole": String,
"FunctionName": String,
"ServiceName": String,
"TriggerName": String,
"TriggerType": String,
"Qualifier": String,
"SourceArn": String
}
}
属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
ServiceName | String | 是 | 否 | 函数服务名称。 | 长度为1~128个字符。 |
FunctionName | String | 是 | 否 | 要创建触发器的函数名称。 | 无 |
TriggerName | String | 是 | 否 | 触发器名称。 | 长度为1~128个字符。以英文字母或下划线(_)开头,可包含数字、英文字母、短划线(-)和下划线(_)。 |
TriggerType | String | 是 | 否 | 触发器类型。 | 取值:
|
TriggerConfig | Map | 是 | 是 | 触发器配置。 | 针对不同的触发器类型,触发器配置会有所不同。 |
InvocationRole | String | 否 | 是 | 触发器角色,该角色授予事件源代表用户运行函数的权限。例如: | 定时触发器和HTTP触发器无需指定该参数,其它类型触发器必须指定该参数。 不同类型触发器角色授权的可信实体及策略如下:
|
SourceArn | String | 否 | 否 | 事件源ARN。 | 定时触发器和HTTP触发器不指定该参数,其它类型触发器必须指定该参数。 不同触发器的事件源ARN格式及示例值如下:
说明
|
Qualifier | String | 否 | 是 | 触发版本。 | 默认值:LATEST。 |
oss-TriggerConfig语法
"TriggerConfig": {
"BucketName": String,
"Events": List,
"Filter": Map
}
oss-TriggerConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
BucketName | String | 是 | 否 | Bucket名称。 | 请在对象存储服务Object Storage Service(OSS)选择合适的Bucket作为事件源。选择框将展示同一个地域的Bucket。 |
Events | String | 是 | 是 | 触发事件,表示您对阿里云资源执行的操作。 | 示例值: |
Filter | Map | 否 | 是 | 触发规则,用于避免循环触发。 | Prefix和Suffix的取值为自定义字符串。 示例:
|
log-TriggerConfig语法
"TriggerConfig": {
"SourceConfig": Map,
"LogConfig": Map,
"JobConfig": Map,
"FunctionParameter": Map,
"Enable": Boolean
}
log-TriggerConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
SourceConfig | Map | 是 | 否 | 配置日志仓库。 | 示例值: |
LogConfig | Map | 是 | 是 | 配置日志项目和触发器日志。 | 日志项目必须指定且不可更新。触发器日志不强制指定,可以更新,且不能与SourceConfig设置的LogStore相同。 示例值: |
JobConfig | Map | 是 | 是 | 工作配置,用于设置重试次数和触发间隔。 | 触发间隔单位:秒。 重试次数取值范围:0~100。 示例值: |
FunctionParameter | Map | 是 | 是 | 函数配置,用于为函数传递参数。 | 不指定任何参数时请填写大括号({ })。 |
Enable | Boolean | 是 | 是 | 日志服务触发器启用状态。 | 取值:
|
timer-TriggerConfig语法
"TriggerConfig": {
"Payload": String,
"CronExpression": String,
"Enabled": Boolean
}
timer-TriggerConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Payload | String | 否 | 是 | 触发消息。 | 无 |
CronExpression | String | 是 | 是 | Cron表达式,用于设置触发时间。 | Cron以UTC时间运行,即北京时间减去8个小时。 |
Enabled | Boolean | 是 | 是 | 是否启用触发器。 | 取值:
|
tablestore-TriggerConfig语法
"TriggerConfig",: {
"InstanceName": String,
"TableName": String
}
tablestore-TriggerConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
InstanceName | String | 是 | 否 | 表格存储实例名称。 | 无 |
TableName | String | 是 | 否 | 数据表名称。 | 无 |
mns_topic-TriggerConfig语法
"TriggerConfig": {
"NotifyStrategy": String,
"NotifyContentFormat": String,
"FilterTag": String
}
mns_topic-TriggerConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
NotifyStrategy | String | 是 | 否 | 重试策略。 | 取值:
更多信息,请参见NotifyStrategy。 |
NotifyContentFormat | String | 是 | 否 | Event格式。 | 取值:
|
FilterTag | String | 否 | 否 | 过滤标签。 | 无 |
cdn-TriggerConfig语法
"TriggerConfig": {
"EventName": String,
"EventVersion": String,
"Notes": String,
"Filter": List
}
cdn-TriggerConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
EventName | String | 是 | 否 | 触发事件。 | 取值:
|
EventVersion | String | 是 | 否 | 触发事件版本。 | 无 |
Notes | String | 是 | 是 | 备注。 | 无 |
Filter | List | 是 | 是 | 过滤器。 | 每个过滤器的键均为 |
http-TriggerConfig语法
HTTP触发器只能在创建函数时创建,且不能与其他类型的触发器同时存在。
"TriggerConfig": {
"AuthType": String,
"Methods": List
}
http-TriggerConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
AuthType | String | 是 | 否 | 认证方式。 | 取值:
|
Methods | List | 是 | 否 | 请求方式。 | 取值:
示例值: |
返回值
Fn::GetAtt
TriggerId:系统为每个触发器生成的唯一ID。
ServiceName:函数服务的名称。
FunctionName:函数名称。
TriggerName:触发器名称。
UrlInternet:公网域名地址。
UrlIntranet:私网域名地址。