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个小时。 更多信息,请参见CronExpression。 | 
| 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:私网域名地址。