全部產品
Search
文件中心

Function Compute:觸發器Event格式

更新時間:Jul 06, 2024

Function Compute每個類型的觸發器,其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

事件來源,固定為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是Function Compute的入口參數。具體格式如下:

{
    "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

設定函數讀取的日誌塊資訊。

  • endpoint:Log ServiceProject所屬的阿里雲地區。

  • projectName:Log ServiceProject名稱。

  • logstoreName:Logstore名稱。

  • shardId:Logstore中一個確定的Shard。

  • beginCursor:開始消費資料的位置。

  • endCursor:停止消費資料的位置。

{
    "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

Log ServiceETL Job名字,函數配置的SLS觸發器對應一個Log Service的ETL Job。

1f7043ced683de1a4e3d8d70b5a412843d81****

taskId

對於ETL Job而言,taskId是一個確定性函數調用標識。

c2691505-38da-4d1b-998a-f1d4bb8c****

cursorTime

最後一條日誌到達Log Service端的Unix時間戳記,單位:秒。

1529486425

CDN觸發器

event是Function Compute的入口參數,具體格式如下。其中,對於不同的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

資料表中的增量資料行數組。包含如下內部成員:

  • Type:資料行類型,包含PutRow、UpdateRow和DeleteRow。類型為String。

  • Info:包含Timestamp內部成員。Timestamp表示該行的最後修改UTC時間。類型為Int64。

PrimaryKey

主鍵列數組。包含如下內部成員:

  • ColumnName:主鍵列名稱。類型為String。

  • Value:主鍵列內容。類型為formated_value,支援Integer、String和Blob。

Columns

屬性列數組。包括如下內部成員:

  • Type:屬性列類型,包含Put、DeleteOneVersion和DeleteAllVersions。類型為String。

  • ColumnName:屬性列名稱。類型為String。

  • Value:屬性列內容。類型為formated_value,支援Integer、Boolean、Double、String和Blob。

  • Timestamp:屬性列最後修改UTC時間。類型為Int64。

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"
    }
    }
]
data欄位包含的參數解釋如下表所示。關於CloudEvents規範中定義的參數解釋,請參見事件概述
參數類型樣本值描述
requestIdString606EA3074344430D4C81****請求ID。每個請求的ID取值唯一。
messageIdStringC6DB60D1574661357FA227277445****訊息ID。每條訊息的ID取值唯一。
messageBodyStringTEST訊息內容。

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"
    }
    }
]
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觸發器

事件模式的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****"
        }
    }
    }
]
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

訊息的路由規則。

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 Gateway觸發器

{
    "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 Gateway傳給Function Compute的body內容已進行Base64編碼。Function Compute需要先對body內容進行Base64解碼後再處理。
  • 如果isBase64Encoded的值為false,表示API Gateway沒有對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結構定義