函数计算每个类型的触发器,其event内容和结构都会根据触发事件的具体情况有所不同,函数在被调用时可以根据event中的信息来执行相应的业务逻辑处理。
使用说明
触发器触发事件,传递到函数的Event参数需要您自行在代码中解析才能使用。关于解析Event参数的代码示例,请参见示例一:解析JSON格式参数。
HTTP触发器
HTTP触发器有别于其他触发器,函数签名是请求(Request)和响应(Response)对象,而不是事件(event)对象。所以HTTP触发器没有事件格式。具体信息,请参见配置HTTP触发器并使用HTTP触发。
定时触发器
{
"triggerTime":"2023-12-26T07:49:00Z",
"triggerName":"timer-trigger",
"payload":"awesome-fc"
}
参数 | 类型 | 示例值 | 描述 |
triggerTime | String | 2023-12-26T07:49:00Z | 函数被触发的时间。 |
triggerName | String | timer-trigger | 定时触发器的名称。 |
payload | String | awesome-fc | 您在触发器配置里输入的自定义参数,即触发消息的值。 |
OSS触发器
{
"events": [
{
"eventName": "ObjectCreated:PutObject",
"eventSource": "acs:oss",
"eventTime": "2022-08-13T06:45:43.000Z",
"eventVersion": "1.0",
"oss": {
"bucket": {
"arn": "acs:oss:cn-hangzhou:123456789:testbucket",
"name": "testbucket",
"ownerIdentity": "164901546557****"
},
"object": {
"deltaSize": 122539,
"eTag": "688A7BF4F233DC9C88A80BF985AB****",
"key": "source/a.png",
"size": 122539
},
"ossSchemaVersion": "1.0",
"ruleId": "9adac8e253828f4f7c0466d941fa3db81161****"
},
"region": "cn-hangzhou",
"requestParameters": {
"sourceIPAddress": "140.205.XX.XX"
},
"responseElements": {
"requestId": "58F9FF2D3DF792092E12044C"
},
"userIdentity": {
"principalId": "164901546557****"
}
}
]
}
event参数中不同属性字段的解释如下表所示。
参数 | 类型 | 示例值 | 描述 |
eventName | String | ObjectCreated:PutObject | 事件类型。 |
eventSource | String | acs:oss | 事件源,固定为 |
eventTime | String | 2022-08-13T06:45:43.000Z | 事件产生的时间。使用ISO-8601标准时间格式。 |
eventVersion | String | 1.0 | 事件协议的版本。 |
oss | Map | OSS事件内容。 | |
bucket | Map | bucket参数内容。 | |
name | String | testbucket | Bucket的名称。 |
arn | String | acs:oss:cn-hangzhou:123456789:testbucket | Bucket的唯一标识符。 |
ownerIdentity | String | 164901546557**** | 创建Bucket的用户ID。 |
object | Map | object参数内容。 | |
size | Int | 122539 | object的大小。单位:Byte。 |
deltaSize | Int | 122539 | object的大小变化量。单位:Byte。
|
eTag | String | 688A7BF4F233DC9C88A80BF985AB**** | Object的标签。 |
key | String | source/a.png | Object的名称。 |
ossSchemaVersion | String | 1.0 | OSS模式的版本号。 |
ruleId | String | 9adac8e253828f4f7c0466d941fa3db81161**** | 事件匹配的规则ID。 |
region | String | cn-hangzhou | Bucket所在的地域。 |
requestParameters | Map | 请求参数。 | |
sourceIPAddress | String | 140.205.XX.XX | 请求的源IP地址。 |
responseElements | Map | 响应元素。 | |
requestId | String | 58F9FF2D3DF792092E12044C | 请求对应的Request ID。 |
userIdentity | Map | 用户属性。 | |
principalId | String | 164901546557**** | 请求发起者的阿里云账号ID。 |
SLS触发器
event是函数计算的入口参数。具体格式如下:
{
"parameter": {},
"source": {
"endpoint": "http://cn-hangzhou-intranet.log.aliyuncs.com",
"projectName": "aliyun-fc-cn-hangzhou-2238f0df-a742-524f-9f90-976ba457****",
"logstoreName": "function-log",
"shardId": 0,
"beginCursor": "MTUyOTQ4MDIwOTY1NTk3ODQ2Mw==",
"endCursor": "MTUyOTQ4MDIwOTY1NTk3ODQ2NA=="
},
"jobName": "1f7043ced683de1a4e3d8d70b5a412843d81****",
"taskId": "c2691505-38da-4d1b-998a-f1d4bb8c****",
"cursorTime": 1529486425
}
参数 | 描述 | 本文示例 |
parameter | 您配置触发器时填写的调用参数的值。 | 无。 |
source | 设置函数读取的日志块信息。
|
|
jobName | 日志服务ETL Job名字,函数配置的SLS触发器对应一个日志服务的ETL Job。 | 1f7043ced683de1a4e3d8d70b5a412843d81**** |
taskId | 对于ETL Job而言,taskId是一个确定性的函数调用标识。 | c2691505-38da-4d1b-998a-f1d4bb8c**** |
cursorTime | 最后一条日志到达日志服务端的Unix时间戳,单位:秒。 | 1529486425 |
CDN触发器
event是函数计算的入口参数,具体格式如下。其中,对于不同的CDN事件类型,eventParameter中包含的键值对不同。
LogFileCreated事件的event示例。
替换
filePath
为您CDN日志的路径,或任何测试文件。{ "events": [ { "eventName": "LogFileCreated", "eventSource": "cdn", "region": "cn-hangzhou", "eventVersion": "1.0.0", "eventTime": "2018-06-14T15:31:49+08:00", "traceId": "c6459282-6a4d-4413-894c-e4ea3968****", "userIdentity": { "aliUid": "164901546557****" }, "resource": { "domain": "example.com" }, "eventParameter": { "domain": "example.com", "endTime": 1528959900, "fileSize": 1788115, "filePath": "http://cdnlog.cn-hangzhou.oss.aliyun-inc.com/www.aliyun.com/2017_12_27/www.aliyun.com_2017_12_27_0800_0900.gz?OSSAccessKeyId=xxxx&Expires=xxxx&Signature=xxxx", "startTime": 1528959600 } } ] }
event参数中不同属性字段的解释如下表所示。
参数
类型
示例值
描述
eventName
String
LogFileCreated
事件类型。
eventSource
String
cdn
事件源名称。
region
String
cn-hangzhou
CDN所在地域,默认为cn-hangzhou。
eventVersion
String
1.0.0
事件触发版本。
eventTime
String
2018-06-14T15:31:49+08:00
事件发生时间。
traceId
String
c6459282-6a4d-4413-894c-e4ea3968****
事件源传递的ID,用于排查问题。
userIdentity
Map
用户属性。
aliUid
String
164901546557****
阿里云账号ID。
resource
Map
资源信息。
domain
String
example.com
域名。
eventParameter
Map
事件参数。
domain
String
example.com
域名。
endTime
String
1528959900
日志文件的结束时间。
fileSize
String
1788115
日志文件大小。
filePath
String
http://cdnlog.cn-hangzhou.oss.aliyun-inc.com/www.aliyun.com/2017_12_27/www.aliyun.com_2017_12_27_0800_0900.gz?OSSAccessKeyId=xxxx&Expires=xxxx&Signature=xxxx
日志文件地址。
startTime
String
1528959600
日志文件的起始时间。
CachedObjectsRefreshed和CachedObjectsPushed事件的event示例。
{ "events": [ { "eventName": "CachedObjectsRefreshed", "eventVersion": "1.0.0", "eventSource": "cdn", "region": "cn-hangzhou", "eventTime": "2018-03-16T14:19:55+08:00", "traceId": "cf89e5a8-7d59-4bb5-a33e-4c3d08e2****", "resource": { "domain": "example.com" }, "eventParameter": { "objectPath": [ "/2018/03/16/13/33b430c57e7.mp4", "/2018/03/16/14/4ff6b9bd54d.mp4" ], "createTime": 1521180769, "domain": "example.com", "completeTime": 1521180777, "objectType": "File", "taskId": 2089687230 }, "userIdentity": { "aliUid": "164901546557****" } } ] }
event参数中不同属性字段的解释如下表所示。
参数
类型
示例值
描述
eventName
String
CachedObjectsRefreshed
事件类型。
eventSource
String
cdn
事件源名称。
region
String
cn-hangzhou
CDN所在地域,默认为cn-hangzhou。
eventVersion
String
1.0.0
事件触发版本。
eventTime
String
2018-06-14T15:31:49+08:00
事件发生时间。
traceId
String
c6459282-6a4d-4413-894c-e4ea3968****
事件源传递的ID,用于排查问题。
resource
Map
资源信息。
domain
String
example.com
域名。
eventParameter
Map
事件参数。
objectPath
String
/2018/03/16/13/33b430c57e7.mp4
资源标识。
createTime
String
1521180769
刷新开始时间。
domain
String
example.com
域名。
completeTime
String
1521180777
刷新结束时间。
objectType
String
File
刷新类型,取值说明如下:
File:文件。
Directory:文件夹。
taskId
String
2089687230
资源刷新任务ID。
userIdentity
Map
用户属性。
aliUid
String
164901546557****
阿里云账号ID。
CdnDomainStarted和CdnDomainStopped事件的event示例。
{ "events": [ { "eventName": "CdnDomainStarted", "eventVersion": "1.0.0", "eventSource": "cdn", "region": "cn-hangzhou", "eventTime": "2018-03-16T14:19:55+08:00", "traceId": "cf89e5a8-7d59-4bb5-a33e-4c3d08e2****", "resource": { "domain": "example.com" }, "eventParameter": { "domain": "example.com", "status": "online" }, "userIdentity": { "aliUid": "164901546557****" } } ] }
event参数中不同属性字段的解释如下表所示。
参数
类型
示例值
描述
eventName
String
CdnDomainStarted
事件类型。
eventSource
String
cdn
事件源名称。
region
String
cn-hangzhou
CDN所在地域,默认为cn-hangzhou。
eventVersion
String
1.0.0
事件触发版本。
eventTime
String
2018-06-14T15:31:49+08:00
事件发生时间。
traceId
String
c6459282-6a4d-4413-894c-e4ea3968****
事件源传递的ID,用于排查问题。
resource
Map
资源信息。
domain
String
example.com
域名。
eventParameter
Map
事件参数。
domain
String
example.com
域名。
status
String
online
域名状态。
userIdentity
Map
用户属性。
aliUid
String
164901546557****
阿里云账号ID。
CdnDomainAdded和CdnDomainDeleted事件的event示例。
{ "events": [ { "eventName": "CdnDomainAdded", "eventVersion": "1.0.0", "eventSource": "cdn", "region": "cn-hangzhou", "eventTime": "2018-03-16T14:19:55+08:00", "traceId": "cf89e5a8-7d59-4bb5-a33e-4c3d08e2****", "resource": { "domain": "example.com" }, "eventParameter": { "domain": "example.com" }, "userIdentity": { "aliUid": "164901546557****" } } ] }
event参数中不同属性字段的解释如下表所示。
参数
类型
示例值
描述
eventName
String
CdnDomainAdded
事件类型。
eventSource
String
cdn
事件源名称。
region
String
cn-hangzhou
CDN所在地域,默认为cn-hangzhou。
eventVersion
String
1.0.0
事件触发版本。
eventTime
String
2018-06-14T15:31:49+08:00
事件发生时间。
traceId
String
c6459282-6a4d-4413-894c-e4ea3968****
事件源传递的ID,用于排查问题。
resource
Map
资源信息。
domain
String
example.com
域名。
eventParameter
Map
事件参数。
domain
String
example.com
域名。
userIdentity
Map
用户属性。
aliUid
String
164901546557****
阿里云账号ID。
Tablestore触发器
{
"Version": "Sync-v1",
"Records": [
{
"Type": "PutRow",
"Info": {
"Timestamp": 1506416585740836
},
"PrimaryKey": [
{
"ColumnName": "pk_0",
"Value": 1506416585881590900
},
{
"ColumnName": "pk_1",
"Value": "2017-09-26 17:03:05.8815909 +0800 CST"
},
{
"ColumnName": "pk_2",
"Value": 1506416585741000
}
],
"Columns": [
{
"Type": "Put",
"ColumnName": "attr_0",
"Value": "hello_table_store",
"Timestamp": 1506416585741
},
{
"Type": "Put",
"ColumnName": "attr_1",
"Value": 1506416585881590900,
"Timestamp": 1506416585741
}
]
}
]
}
event参数中不同属性字段的解释如下表所示。
参数 | 描述 |
Version | Payload版本号。示例如Sync-v1。类型为String。 |
Records | 数据表中的增量数据行数组。包含如下内部成员:
|
PrimaryKey | 主键列数组。包含如下内部成员:
|
Columns | 属性列数组。包括如下内部成员:
|
MNS主题触发器
创建触发器时,若event格式设置为STREAM。
当消息中不含消息属性(MessageAttributes)时,event格式如下。
说明当消息中不含消息属性(MessageAttributes)时,event的内容格式为JSON字符串。
# 消息正文。 'hello topic'
当消息中含有消息属性(MessageAttributes)时,event格式如下。
说明event的内容中包含MessageAttributes相关的键值对。更多信息,请参见PublishMessage。
{ "body": "hello topic", "attrs": { "Extend": "{\\"key\\":\\"value\\"}" } }
创建触发器时,若event格式设置为JSON。
当消息中不含消息属性(MessageAttributes)时,event格式如下。
{ "TopicOwner": "118620210433****", "Message": "hello topic", "Subscriber": "118620210433****", "PublishTime": 1550216480040, "SubscriptionName": "test-fc-subscribe", "MessageMD5": "BA4BA9B48AC81F0F9C66F6C909C3****", "TopicName": "Mytopic", "MessageId": "2F5B3C082B923D4EAC694B76D928****" }
当消息中含有消息属性(MessageAttributes)时,event格式如下。
说明event的内容中包含MessageAttributes相关的键值对。更多信息,请参见PublishMessage。
{ "key": "value", "TopicOwner": "118620210433****", "Message": "hello topic", "Subscriber": "118620210433****", "PublishTime": 1550216302888, "SubscriptionName": "test-fc-subscribe", "MessageMD5": "BA4BA9B48AC81F0F9C66F6C909C3****", "TopicName": "Mytopic", "MessageId": "2F5B3C281B283D4EAC694B742528****" }
MNS队列触发器
event
格式如下所示。{
"id":"c2g71017-6f65-fhcf-a814-a396fc8d****",
"source":"MNS-Function-mnstrigger",
"specversion":"1.0",
"type":"mns:Queue:SendMessage",
"datacontenttype":"application/json; charset=utf-8",
"subject":"acs:mns:cn-hangzhou:164901546557****:queues/zeus",
"time":"2021-04-08T06:28:17.093Z",
"aliyunaccountid":"164901546557****",
"aliyunpublishtime":"2021-10-15T07:06:34.028Z",
"aliyunoriginalaccountid":"164901546557****",
"aliyuneventbusname":"MNS-Function-mnstrigger",
"aliyunregionid":"cn-chengdu",
"aliyunpublishaddr":"42.120.XX.XX",
"data":{
"requestId":"606EA3074344430D4C81****",
"messageId":"C6DB60D1574661357FA227277445****",
"messageBody":"TEST"
}
}
event
格式如下所示。[
{
"id":"c2g71017-6f65-fhcf-a814-a396fc8d****",
"source":"MNS-Function-mnstrigger",
"specversion":"1.0",
"type":"mns:Queue:SendMessage",
"datacontenttype":"application/json; charset=utf-8",
"subject":"acs:mns:cn-hangzhou:164901546557****:queues/zeus",
"time":"2021-04-08T06:28:17.093Z",
"aliyunaccountid":"164901546557****",
"aliyunpublishtime":"2021-10-15T07:06:34.028Z",
"aliyunoriginalaccountid":"164901546557****",
"aliyuneventbusname":"MNS-Function-mnstrigger",
"aliyunregionid":"cn-chengdu",
"aliyunpublishaddr":"42.120.XX.XX",
"data":{
"requestId":"606EA3074344430D4C81****",
"messageId":"C6DB60D1574661357FA227277445****",
"messageBody":"TEST"
}
},
{
"id":"d2g71017-6f65-fhcf-a814-a396fc8d****",
"source":"MNS-Function-mnstrigger",
"specversion":"1.0",
"type":"mns:Queue:SendMessage",
"datacontenttype":"application/json; charset=utf-8",
"subject":"acs:mns:cn-hangzhou:164901546557****:queues/zeus",
"time":"2021-04-08T06:28:17.093Z",
"aliyunaccountid":"164901546557****",
"aliyunpublishtime":"2021-10-15T07:06:34.028Z",
"aliyunoriginalaccountid":"164901546557****",
"aliyuneventbusname":"MNS-Function-mnstrigger",
"aliyunregionid":"cn-chengdu",
"aliyunpublishaddr":"42.120.XX.XX",
"data":{
"requestId":"606EA3074344430D4C81****",
"messageId":"C6DB60D1574661357FA227277445****",
"messageBody":"TEST"
}
}
]
参数 | 类型 | 示例值 | 描述 |
requestId | String | 606EA3074344430D4C81**** | 请求ID。每个请求的ID取值唯一。 |
messageId | String | C6DB60D1574661357FA227277445**** | 消息ID。每条消息的ID取值唯一。 |
messageBody | String | TEST | 消息内容。 |
RocketMQ触发器
event
格式如下所示。{
"id":"94ebc15f-f0db-4bbe-acce-56fb72fb****",
"source":"RocketMQ-Function-rocketmq-trigger",
"specversion":"1.0",
"type":"mq:Topic:SendMessage",
"datacontenttype":"application/json; charset=utf-8",
"subject":"acs:mq:cn-hangzhou:164901546557****:MQ_INST_164901546557****_BXhFHryi%TopicName",
"time":"2021-04-08T06:01:20.766Z",
"aliyunaccountid":"164901546557****",
"aliyunpublishtime":"2021-10-15T02:05:16.791Z",
"aliyunoriginalaccountid":"164901546557****",
"aliyuneventbusname":"RocketMQ-Function-rocketmq-trigger",
"aliyunregionid":"cn-chengdu",
"aliyunpublishaddr":"42.120.XX.XX",
"data":{
"topic":"TopicName",
"systemProperties":{
"MIN_OFFSET":"0",
"TRACE_ON":"true",
"MAX_OFFSET":"8",
"MSG_REGION":"cn-hangzhou",
"KEYS":"systemProperties.KEYS",
"CONSUME_START_TIME":1628577790396,
"TAGS":"systemProperties.TAGS",
"INSTANCE_ID":"MQ_INST_164901546557****_BXhFHryi"
},
"userProperties":{
},
"body":"TEST"
}
}
event
格式如下所示。[
{
"id":"94ebc15f-f0db-4bbe-acce-56fb72fb****",
"source":"RocketMQ-Function-rocketmq-trigger",
"specversion":"1.0",
"type":"mq:Topic:SendMessage",
"datacontenttype":"application/json; charset=utf-8",
"subject":"acs:mq:cn-hangzhou:164901546557****:MQ_INST_164901546557****_BXhFHryi%TopicName",
"time":"2021-04-08T06:01:20.766Z",
"aliyunaccountid":"164901546557****",
"aliyunpublishtime":"2021-10-15T02:05:16.791Z",
"aliyunoriginalaccountid":"164901546557****",
"aliyuneventbusname":"RocketMQ-Function-rocketmq-trigger",
"aliyunregionid":"cn-chengdu",
"aliyunpublishaddr":"42.120.XX.XX",
"data":{
"topic":"TopicName",
"systemProperties":{
"MIN_OFFSET":"0",
"TRACE_ON":"true",
"MAX_OFFSET":"8",
"MSG_REGION":"cn-hangzhou",
"KEYS":"systemProperties.KEYS",
"CONSUME_START_TIME":1628577790396,
"TAGS":"systemProperties.TAGS",
"INSTANCE_ID":"MQ_INST_164901546557****_BXhFHryi"
},
"userProperties":{
},
"body":"TEST"
}
},
{
"id":"94ebc15f-f0db-4bbe-acce-56fb72fb****",
"source":"RocketMQ-Function-rocketmq-trigger",
"specversion":"1.0",
"type":"mq:Topic:SendMessage",
"datacontenttype":"application/json; charset=utf-8",
"subject":"acs:mq:cn-hangzhou:164901546557****:MQ_INST_164901546557****_BXhFHryi%TopicName",
"time":"2021-04-08T06:01:20.766Z",
"aliyunaccountid":"164901546557****",
"aliyunpublishtime":"2021-10-15T02:05:16.791Z",
"aliyunoriginalaccountid":"164901546557****",
"aliyuneventbusname":"RocketMQ-Function-rocketmq-trigger",
"aliyunregionid":"cn-chengdu",
"aliyunpublishaddr":"42.120.XX.XX",
"data":{
"topic":"TopicName",
"systemProperties":{
"MIN_OFFSET":"0",
"TRACE_ON":"true",
"MAX_OFFSET":"8",
"MSG_REGION":"cn-hangzhou",
"KEYS":"systemProperties.KEYS",
"CONSUME_START_TIME":1628577790396,
"TAGS":"systemProperties.TAGS",
"INSTANCE_ID":"MQ_INST_164901546557****_BXhFHryi"
},
"userProperties":{
},
"body":"TEST"
}
}
]
参数 | 类型 | 示例值 | 描述 |
topic | String | TopicName | Topic名称。 |
systemProperties | Map | 系统属性。 | |
MIN_OFFSET | Int | 0 | 最低位点。 |
TRACE_ON | Boolean | true | 是否有消息轨迹。取值说明如下:
|
MAX_OFFSET | Int | 8 | 最高位点。 |
MSG_REGION | String | cn-hangzhou | 发送消息的地域。 |
KEYS | String | systemProperties.KEYS | 过滤属性。 |
CONSUME_START_TIME | Long | 1628577790396 | 开始消费时间。单位:毫秒。 |
UNIQ_KEY | String | AC14C305069E1B28CDFA3181CDA2**** | 消息唯一键。 |
TAGS | String | systemProperties.TAGS | 过滤属性。 |
INSTANCE_ID | String | MQ_INST_123456789098****_BXhFHryi | 实例ID。 |
userProperties | Map | 无 | 用户属性。 |
body | String | TEST | 消息内容。 |
RabbitMQ触发器
event
格式如下所示。 {
"id":"bj694332-4cj1-389e-9d8c-b137h30b****",
"source":"RabbitMQ-Function-rabbitmq-trigger",
"specversion":"1.0",
"type":"amqp:Queue:SendMessage",
"datacontenttype":"application/json;charset=utf-8",
"subject":"acs:amqp:cn-hangzhou:164901546557****:/instances/amqp-cn-tl32e756****/vhosts/eb-connect/queues/housekeeping",
"time":"2021-08-12T06:56:40.709Z",
"aliyunaccountid":"164901546557****",
"aliyunpublishtime":"2021-10-15T08:58:55.140Z",
"aliyunoriginalaccountid":"164901546557****",
"aliyuneventbusname":"RabbitMQ-Function-rabbitmq-trigger",
"aliyunregionid":"cn-chengdu",
"aliyunpublishaddr":"42.120.XX.XX",
"data":{
"envelope":{
"deliveryTag":98,
"exchange":"",
"redeliver":false,
"routingKey":"housekeeping"
},
"body":{
"Hello":"RabbitMQ"
},
"props":{
"contentEncoding":"UTF-8",
"messageId":"f7622d51-e198-41de-a072-77c1ead7****"
}
}
}
event
格式如下所示。[
{
"id":"bj694332-4cj1-389e-9d8c-b137h30b****",
"source":"RabbitMQ-Function-rabbitmq-trigger",
"specversion":"1.0",
"type":"amqp:Queue:SendMessage",
"datacontenttype":"application/json;charset=utf-8",
"subject":"acs:amqp:cn-hangzhou:164901546557****:/instances/amqp-cn-tl32e756****/vhosts/eb-connect/queues/housekeeping",
"time":"2021-08-12T06:56:40.709Z",
"aliyunaccountid":"164901546557****",
"aliyunpublishtime":"2021-10-15T08:58:55.140Z",
"aliyunoriginalaccountid":"164901546557****",
"aliyuneventbusname":"RabbitMQ-Function-rabbitmq-trigger",
"aliyunregionid":"cn-chengdu",
"aliyunpublishaddr":"42.120.XX.XX",
"data":{
"envelope":{
"deliveryTag":98,
"exchange":"",
"redeliver":false,
"routingKey":"housekeeping"
},
"body":{
"Hello":"RabbitMQ"
},
"props":{
"contentEncoding":"UTF-8",
"messageId":"f7622d51-e198-41de-a072-77c1ead7****"
}
}
},
{
"id":"bj694332-4cj1-389e-9d8c-b137h30b****",
"source":"RabbitMQ-Function-rabbitmq-trigger",
"specversion":"1.0",
"type":"amqp:Queue:SendMessage",
"datacontenttype":"application/json;charset=utf-8",
"subject":"acs:amqp:cn-hangzhou:164901546557****:/instances/amqp-cn-tl32e756****/vhosts/eb-connect/queues/housekeeping",
"time":"2021-08-12T06:56:40.709Z",
"aliyunaccountid":"164901546557****",
"aliyunpublishtime":"2021-10-15T08:58:55.140Z",
"aliyunoriginalaccountid":"164901546557****",
"aliyuneventbusname":"RabbitMQ-Function-rabbitmq-trigger",
"aliyunregionid":"cn-chengdu",
"aliyunpublishaddr":"42.120.XX.XX",
"data":{
"envelope":{
"deliveryTag":98,
"exchange":"",
"redeliver":false,
"routingKey":"housekeeping"
},
"body":{
"Hello":"RabbitMQ"
},
"props":{
"contentEncoding":"UTF-8",
"messageId":"f7622d51-e198-41de-a072-77c1ead7****"
}
}
}
]
参数 | 类型 | 示例值 | 描述 |
body | Map | 消息内容。 | |
Hello | String | EventBridge | 用户数据。 |
props | Map | 消息属性。 | |
contentEncoding | String | utf-8 | 消息内容编码。 |
messageId | String | f7622d51-e198-41de-a072-77c1ead7**** | 消息ID。每条消息的ID取值唯一。 |
envelope | Map | 消息的envelope信息。 | |
deliveryTag | Int | 98 | 消息的Tag。 |
exchange | String | 无 | 消息的Exchange。 |
redeliver | Boolean | false | 是否支持重发消息。取值说明如下:
|
routingKey | String | housekeeping | 消息的路由规则。 |
Kafka触发器
[
{
"specversion":"1.0",
"id":"8e215af8-ca18-4249-8645-f96c1026****",
"source":"acs:alikafka",
"type":"alikafka:Topic:Message",
"subject":"acs:alikafka_pre-cn-i7m2t7t1****:topic:mytopic",
"datacontenttype":"application/json; charset=utf-8",
"time":"2022-06-23T02:49:51.589Z",
"aliyunaccountid":"164901546557****",
"data":{
"topic":"****",
"partition":7,
"offset":25,
"timestamp":1655952591589,
"headers":{
"headers":[
],
"isReadOnly":false
},
"key":"keytest",
"value":"hello kafka msg"
}
},
{
"specversion":"1.0",
"id":"8e215af8-ca18-4249-8645-f96c1026****",
"source":"acs:alikafka",
"type":"alikafka:Topic:Message",
"subject":"acs:alikafka_pre-cn-i7m2t7t1****:topic:mytopic",
"datacontenttype":"application/json; charset=utf-8",
"time":"2022-06-23T02:49:51.589Z",
"aliyunaccountid":"164901546557****",
"data":{
"topic":"****",
"partition":7,
"offset":25,
"timestamp":1655952591589,
"headers":{
"headers":[
],
"isReadOnly":false
},
"key":"keytest",
"value":"hello kafka msg"
}
}
]
data字段包含的参数解释如下表所示。
参数 | 类型 | 示例值 | 描述 |
topic | String | TopicName | Topic的名称。 |
partition | Int | 1 | 云消息队列 Kafka 版的消费分区信息。 |
offset | Int | 0 | 云消息队列 Kafka 版的消息位点。 |
timestamp | String | 1655952591589 | 开始消费时间戳。 |
DTS触发器
event
格式如下所示:[
{
"data": {
"id": 321****,
"topicPartition": {
"hash": 0,
"partition": 0,
"topic": "cn_hangzhou_rm_1234****_test_version2"
},
"offset": 3218099,
"sourceTimestamp": 1654847757,
"operationType": "UPDATE",
"schema": {
"recordFields": [
{
"fieldName": "id",
"rawDataTypeNum": 8,
"isPrimaryKey": true,
"isUniqueKey": false,
"fieldPosition": 0
},
{
"fieldName": "topic",
"rawDataTypeNum": 253,
"isPrimaryKey": false,
"isUniqueKey": false,
"fieldPosition": 1
}
],
"nameIndex": {
"id": {
"fieldName": "id",
"rawDataTypeNum": 8,
"isPrimaryKey": true,
"isUniqueKey": false,
"fieldPosition": 0
},
"topic": {
"fieldName": "topic",
"rawDataTypeNum": 253,
"isPrimaryKey": false,
"isUniqueKey": false,
"fieldPosition": 1
}
},
"schemaId": "(hangzhou-test-db,hangzhou-test-db,message_info)",
"databaseName": "hangzhou--test-db",
"tableName": "message_info",
"primaryIndexInfo": {
"indexType": "PrimaryKey",
"indexFields": [
{
"fieldName": "id",
"rawDataTypeNum": 8,
"isPrimaryKey": true,
"isUniqueKey": false,
"fieldPosition": 0
}
],
"cardinality": 0,
"nullable": true,
"isFirstUniqueIndex": false
},
"uniqueIndexInfo": [],
"foreignIndexInfo": [],
"normalIndexInfo": [],
"databaseInfo": {
"databaseType": "MySQL",
"version": "5.7.35-log"
},
"totalRows": 0
},
"beforeImage": {
"recordSchema": {
"recordFields": [
{
"fieldName": "id",
"rawDataTypeNum": 8,
"isPrimaryKey": true,
"isUniqueKey": false,
"fieldPosition": 0
},
{
"fieldName": "topic",
"rawDataTypeNum": 253,
"isPrimaryKey": false,
"isUniqueKey": false,
"fieldPosition": 1
}
],
"nameIndex": {
"id": {
"fieldName": "id",
"rawDataTypeNum": 8,
"isPrimaryKey": true,
"isUniqueKey": false,
"fieldPosition": 0
},
"topic": {
"fieldName": "topic",
"rawDataTypeNum": 253,
"isPrimaryKey": false,
"isUniqueKey": false,
"fieldPosition": 1
}
},
"schemaId": "(hangzhou-test-db,hangzhou-test-db,message_info)",
"databaseName": "hangzhou-test-db",
"tableName": "message_info",
"primaryIndexInfo": {
"indexType": "PrimaryKey",
"indexFields": [
{
"fieldName": "id",
"rawDataTypeNum": 8,
"isPrimaryKey": true,
"isUniqueKey": false,
"fieldPosition": 0
}
],
"cardinality": 0,
"nullable": true,
"isFirstUniqueIndex": false
},
"uniqueIndexInfo": [],
"foreignIndexInfo": [],
"normalIndexInfo": [],
"databaseInfo": {
"databaseType": "MySQL",
"version": "5.7.35-log"
},
"totalRows": 0
},
"values": [
{
"data": 115
},
{
"data": {
"hb": [
104,
101,
108,
108,
111
],
"offset": 0,
"isReadOnly": false,
"bigEndian": true,
"nativeByteOrder": false,
"mark": -1,
"position": 0,
"limit": 9,
"capacity": 9,
"address": 0
},
"charset": "utf8mb4"
}
],
"size": 45
},
"afterImage": {
"recordSchema": {
"recordFields": [
{
"fieldName": "id",
"rawDataTypeNum": 8,
"isPrimaryKey": true,
"isUniqueKey": false,
"fieldPosition": 0
},
{
"fieldName": "topic",
"rawDataTypeNum": 253,
"isPrimaryKey": false,
"isUniqueKey": false,
"fieldPosition": 1
}
],
"nameIndex": {
"id": {
"fieldName": "id",
"rawDataTypeNum": 8,
"isPrimaryKey": true,
"isUniqueKey": false,
"fieldPosition": 0
},
"topic": {
"fieldName": "topic",
"rawDataTypeNum": 253,
"isPrimaryKey": false,
"isUniqueKey": false,
"fieldPosition": 1
}
},
"schemaId": "(hangzhou-test-db,hangzhou-test-db,message_info)",
"databaseName": "hangzhou-test-db",
"tableName": "message_info",
"primaryIndexInfo": {
"indexType": "PrimaryKey",
"indexFields": [
{
"fieldName": "id",
"rawDataTypeNum": 8,
"isPrimaryKey": true,
"isUniqueKey": false,
"fieldPosition": 0
}
],
"cardinality": 0,
"nullable": true,
"isFirstUniqueIndex": false
},
"uniqueIndexInfo": [],
"foreignIndexInfo": [],
"normalIndexInfo": [],
"databaseInfo": {
"databaseType": "MySQL",
"version": "5.7.35-log"
},
"totalRows": 0
},
"values": [
{
"data": 115
},
{
"data": {
"hb": [
98,
121,
101
],
"offset": 0,
"isReadOnly": false,
"bigEndian": true,
"nativeByteOrder": false,
"mark": -1,
"position": 0,
"limit": 11,
"capacity": 11,
"address": 0
},
"charset": "utf8mb4"
}
],
"size": 47
}
},
"id": "12f701a43741d404fa9a7be89d9acae0-321****",
"source": "DTSstreamDemo",
"specversion": "1.0",
"type": "dts:ConsumeMessage",
"datacontenttype": "application/json; charset=utf-8",
"time": "2022-06-10T07:55:57Z",
"subject": "acs:dts:cn-hangzhou:12345****:kk123abc60g782/dtsabcdet1ro"
}
]
CloudEvents规范中定义的参数解释,请参见事件概述。
data字段包含的参数解释如下表所示。
参数 | 类型 | 说明 |
id | String | DTS数据ID。 |
topicPartition | Array | Topic的分区信息。 |
hash | String | DTS底层存储参数。 |
partition | String | Topic的分区。 |
topic | String | Topic的名称。 |
offset | Int | DTS数据对应的消息存储位点。 |
sourceTimestamp | Int | DTS数据生成时间戳。 |
operationType | String | DTS数据的操作类型。 |
schema | Array | 数据库表结构信息。 |
recordFields | Array | 字段详情记录。 |
fieldName | String | 字段名称。 |
rawDataTypeNum | Int | 字段类型映射值。 该值对应从数据订阅通道中获取的增量数据反序列化后的dataTypeNumber字段值,详情请参见使用Kafka客户端消费订阅数据。 |
isPrimaryKey | Boolean | 字段是否是主键。 |
isUniqueKey | Boolean | 字段是否是唯一值。 |
fieldPosition | String | 字段位置。 |
nameIndex | Array | 命名索引。 |
schemaId | String | 数据库表结构信息的ID。 |
databaseName | String | 数据库名称。 |
tableName | String | 数据表名称。 |
primaryIndexInfo | String | 主键索引。 |
indexType | String | 主键索引类型。 |
indexFields | Array | 主键索引字段内容。 |
cardinality | String | 主键基数。 |
nullable | Boolean | 主键是否可为null。 |
isFirstUniqueIndex | Boolean | 是否是第一个唯一索引。 |
uniqueIndexInfo | String | 唯一索引。 |
foreignIndexInfo | String | 外键索引。 |
normalIndexInfo | String | 普通索引。 |
databaseInfo | Array | 数据库信息。 |
databaseType | String | 数据库类型。 |
version | String | 数据库版本。 |
totalRows | Int | 数据表的总行数。 |
beforeImage | String | 操作前记录字段内容镜像。 |
values | String | 记录字段的值。 |
size | Int | 记录字段大小。 |
afterImage | String | 操作后记录字段内容镜像。 |
MQTT触发器
event格式如下所示。
[
{
"props": {
"firstTopic": "testTopic",
"secondTopic": "/testMq4****",
"clientId": "consumerGroupID@@@xxx"
},
"body": "hello mq4Iot pub sub msg"
}
]
event字段包含的参数解释如下表所示。
参数 | 类型 | 示例值 | 描述 |
props | Map | 消息属性。 | |
firstTopic | String | testTopic | 用于收发消息的父级Topic。 |
secondTopic | String | /testMq4**** | 子级Topic。 |
clientId | String | consumerGroupID@@@xx | 客户端ID。 |
body | String | hello mq4Iot pub sub msg | 消息内容。 |
自建Apache RocketMQ触发器
event格式如下所示。
[
{
"msgId": "7F0000010BDD2A84AEE70DA49B57****",
"topic": "testTopic",
"systemProperties": {
"UNIQ_KEY": "7F0000010BDD2A84AEE70DA49B57****",
"CLUSTER": "DefaultCluster",
"MIN_OFFSET": "0",
"TAGS": "TagA",
"MAX_OFFSET": "128"
},
"userProperties": {},
"body": "Hello RocketMQ"
}
]
event字段包含的参数解释如下表所示。
参数 | 类型 | 示例值 | 描述 |
msgId | String | 7F0000010BDD2A84AEE70DA49B57**** | Apache RocketMQ消息 ID。 |
topic | String | testTopic | Topic名称。 |
systemProperties | Map | 系统属性。 | |
UNIQ_KEY | String | 7F0000010BDD2A84AEE70DA49B57**** | 消息唯一键。 |
CLUSTER | String | DefaultCluster | Apache RocketMQ集群名称。 |
MIN_OFFSET | Int | 0 | 最低位点。 |
MAX_OFFSET | Int | 128 | 最高位点。 |
TAGS | String | TagA | 过滤属性。 |
userProperties | Map | 无 | 用户属性。 |
body | String | Hello RocketMQ | 消息内容。 |
API网关触发器
{
"path":"api request path",
"httpMethod":"request method name",
"headers":{all headers,including system headers},
"queryParameters":{query parameters},
"pathParameters":{path parameters},
"body":"string of request payload",
"isBase64Encoded":"true|false, indicate if the body is Base64-encode"
}
- 如果
isBase64Encoded
的值为true
,表示API网关传给函数计算的body内容已进行Base64编码。函数计算需要先对body内容进行Base64解码后再处理。 - 如果
isBase64Encoded
的值为false
,表示API网关没有对body内容进行Base64编码,在函数中可以直接获取body内容。
DataHub触发器
{
"eventSource": "acs:datahub",
"eventName": "acs:datahub:putRecord",
"eventSourceARN": "/projects/test_project_name/topics/test_topic_name",
"region": "cn-hangzhou",
"records": [
{
"eventId": "0:12345",
"systemTime": 1463000123000,
"data": "[\"col1's value\",\"col2's value\"]"
},
{
"eventId": "0:12346",
"systemTime": 1463000156000,
"data": "[\"col1's value\",\"col2's value\"]"
}
]
}
更多信息,请参见Event结构定义。