不同的触发器,其触发的事件传递到函数接口的event格式不同,本文列举了不同触发器的event格式。

定时触发器

{
    "triggerTime":"2018-02-09T05:49:00Z",
    "triggerName":"timer-trigger",
    "payload":"awesome-fc"
}            
参数 类型 示例值 描述
triggerTime String 2018-02-09T05:49:00Z 函数被触发的时间。
triggerName String timer-trigger 定时触发器的名称。
payload String awesome-fc 您在触发器配置里输入的自定义参数,即触发消息的值。

OSS触发器

{
  "events": [
    {
      "eventName": "ObjectCreated:PutObject",
      "eventSource": "acs:oss",
      "eventTime": "2021-08-13T06:45:43.000Z",
      "eventVersion": "1.0",
      "oss": {
        "bucket": {
          "arn": "acs:oss:cn-shanghai:123456789:bucketname",
          "name": "testbucket",
          "ownerIdentity": "123456789"
        },
        "object": {
          "deltaSize": 122539,
          "eTag": "688A7BF4F233DC9C88A80BF985AB7329",
          "key": "image/a.jpg",
          "size": 122539
        },
        "ossSchemaVersion": "1.0",
        "ruleId": "9adac8e253828f4f7c0466d941fa3db81161****"
      },
      "region": "cn-shanghai",
      "requestParameters": {
        "sourceIPAddress": "140.205.XX.XX"
      },
      "responseElements": {
        "requestId": "58F9FF2D3DF792092E12044C"
      },
      "userIdentity": {
        "principalId": "123456789"
      }
    }
  ]
}           
event中涉及的参数解释如下表所示。
参数 类型 示例值 描述
eventName String ObjectCreated:PutObject 事件类型。
eventSource String acs:oss 事件源,固定为“acs:oss”。
eventTime String 2021-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-shanghai:123456789:bucketname Bucket的唯一标识符。
ownerIdentity String 123456789 创建Bucket的用户ID。
object Map object参数内容。
size Int 122539 object的大小。单位:Byte。
deltaSize Int 122539 object的大小变化量。单位:Byte。
  • 如果新增一个文件,此参数的值表示文件大小。
  • 如果同名覆盖一个文件,此参数的值表示新文件与旧文件的大小差值。
eTag String 688A7BF4F233DC9C88A80BF985AB7329 Object的标签。
key String image/a.jpg Object的名称。
ossSchemaVersion String 1.0 OSS模式的版本号。
ruleId String 9adac8e253828f4f7c0466d941fa3db81161**** 事件匹配的规则ID。
region String cn-shanghai Bucket所在的地域。
requestParameters Map 请求参数。
sourceIPAddress String 140.205.XX.XX 请求的源IP地址。
responseElements Map 响应元素。
requestId String 58F9FF2D3DF792092E12044C 请求对应的Request ID。
userIdentity Map 用户属性。
principalId String 123456789 请求发起者的阿里云账号ID。

SLS触发器

event是函数计算的入口参数。具体格式如下:
{
    "parameter": {},
    "source": {
        "endpoint": "http://cn-shanghai-intranet.log.aliyuncs.com",
        "projectName": "log-com",
        "logstoreName": "log-en",
        "shardId": 0,
        "beginCursor": "MTUyOTQ4MDIwOTY1NTk3ODQ2Mw==",
        "endCursor": "MTUyOTQ4MDIwOTY1NTk3ODQ2NA=="
    },
    "jobName": "1f7043ced683de1a4e3d8d70b5a412843d81****",
    "taskId": "c2691505-38da-4d1b-998a-f1d4bb8c****",
    "cursorTime": 1529486425
}                       
参数 描述 本文示例
parameter 您配置触发器时填写的调用参数的值。 无。
source 设置函数读取的日志块信息。
  • endpoint:日志服务Project所属的阿里云地域。
  • projectName:日志服务Project名称。
  • logstoreName:Logstore名称。
  • shardId:Logstore中一个确定的Shard。
  • beginCursor:开始消费数据的位置。
  • endCursor:停止消费数据的位置。
{
    "endpoint":"http://cn-shanghai-intranet.log.aliyuncs.com",
    "projectName":"log-com",
    "logstoreName":"log-en",
    "shardId":0,
    "beginCursor":"MTUyOTQ4MDIwOTY1NTk3ODQ2Mw==",
    "endCursor":"MTUyOTQ4MDIwOTY1NTk3ODQ2NA=="
}
jobName 日志服务ETL Job名字,函数配置的SLS触发器对应一个日志服务的ETL Job。 1f7043ced683de1a4e3d8d70b5a412843d81****
taskId 对于ETL Job而言,taskId是一个确定性的函数调用标识。 c2691505-38da-4d1b-998a-f1d4bb8c****
cursorTime 最后一条日志到达日志服务端的unix_timestamp。 1529486425

CDN触发器

{  "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-4c3d08e25acf",
         "resource": {
              "domain": "example.com"
         },
         "eventParameter": {
              "domain": "example.com"
         },
         "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-e4ea39686738 事件源传递的ID,用于排查问题。
resource String 资源信息。
domain String example.com 域名。
eventParameter String 事件参数。
domain String example.com 域名。
userIdentity String 用户属性。
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 String Sync-v1 Payload版本号。
Records Array 数据表中的增量数据行数组。
Type String PutRow 数据行类型,取值说明如下:
  • PutRow:插入一行数据。
  • UpdateRow:更新指定行数据。
  • DeleteRow:删除指定行。
Info String 数据行基本信息。
Timestamp Int64 1506416585740836 该数据行的最后修改UTC时间。
PrimaryKey Array 主键列数组。
ColumnName String pk_0 主键列名称。
Value String、Integer或Blob 1506416585881590900 主键列内容。
Columns Array 属性列数组。
Type String Put 属性列类型,取值说明如下:
  • Put:增加一个版本。
  • DeleteOneVersion:删除一个版本。
  • DeleteAllVersions:删除所有版本。
ColumnName String attr_0 属性列名称。
Value Integer、Boolean、Double、String或Blob hello_table_store 属性列内容。
Timestamp Int64 1506416585741 属性列最后修改UTC时间。

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****"
          }
                                  
event中涉及的参数解释如下表所示。
参数 类型 示例值 描述
key String value 消息属性相关的键值对。
TopicOwner String 118620210433**** 订阅Topic的AccountId。
Message String hello topic 消息内容。
Subscriber String 118620210433**** 用户的AccountId。
PublishTime Map 1550216302888 消息发布时间。
SubscriptionName String test-fc-subscribe 订阅的名称。
MessageMD5 String BA4BA9B48AC81F0F9C66F6C909C3**** 消息正文的MD5值。
TopicName String Mytopic Topic名称。
MessageId String 2F5B3C281B283D4EAC694B742528**** 消息的编号。

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内容。

RocketMQ触发器

{
    "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"
    }
}     
data字段包含的参数解释如下表所示。关于CloudEvents规范中定义的参数解释,请参见事件概述
参数 类型 示例值 描述
topic String TopicName Topic名称。
systemProperties Map 系统属性。
MIN_OFFSET Int 0 最低位点。
TRACE_ON Boolean true 是否有消息轨迹。取值说明如下:
  • true:有消息轨迹。
  • false:无消息轨迹。
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触发器

  {
    "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****"
        }
    }
}
data字段包含的参数解释如下表所示。关于CloudEvents规范中定义的参数解释,请参见事件概述
参数 类型 示例值 描述
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 是否支持重发消息。取值说明如下:
  • true:支持
  • false:不支持
routingKey String housekeeping 消息的路由规则。

MNS队列触发器

{
    "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":"1649015465574023",
    "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"
    }
}
data字段包含的参数解释如下表所示。关于CloudEvents规范中定义的参数解释,请参见事件概述
参数 类型 示例值 描述
requestId String 606EA3074344430D4C81**** 请求ID。每个请求的ID取值唯一。
messageId String C6DB60D1574661357FA227277445**** 消息ID。每条消息的ID取值唯一。
messageBody String TEST 消息内容。

HTTP触发器

HTTP触发器有别于其他触发器,函数签名是请求(Request)和响应(Response)对象,而不是事件(event)对象。所以HTTP触发器没有事件格式。具体信息,请参见配置HTTP触发器