觸發器事件消息格式
更新時間 2025-05-26 15:25:17
最近更新時間: 2025-05-26 15:25:17
分享文章
函數計算提供了豐富類型的觸發器,不同種類的觸發器事件格式會根據具體情況而有所差異,下面將詳細列舉各觸發器對應的事件格式。
說明
本文提及的”事件格式“指事件函數中,接收到的event變量的數據結構。
HTTP觸發器
通過HTTP觸發器和自定義域名訪問事件函數時,僅會把請求中的body部分通過event傳遞到事件函數的handler,數據類型是byte數組。而header和queryparams等其余請求信息會被丟棄,如果用戶需要關心請求中除body以外的信息,可以使用Http函數
說明
”事件函數“指的是標準運行時下,處理程序類型為”處理事件請求“的函數。
”HTTP函數“指的是標準運行時下,處理程序類型為”處理 HTTP 請求“的函數。
云原生網關觸發器
云原生網關觸發器與Http觸發器的行為相同,詳細請參考上文。
定時觸發器
{
"time": "2024-12-05T02:24:09Z",
"name": "trigger-name",
"data": "hello,trigger"
}| 參數 | 類型 | 示例值 | 描述 |
|---|---|---|---|
| time | string | 2024-12-05T02:24:09Z | 消息被觸發的時間。 |
| name | string | trigger-name | 觸發器的名稱。 |
| data | string | hello,trigger | 定時觸發器配置中用戶填寫的”觸發消息“內容。 |
Kafka觸發器
有兩種消息格式:RawData和CloudEvent格式,可在觸發器配置里選擇。
CloudEvent格式如下:
[
{
"id": "eca53463-6baf-4d56-8f86-cbdb748208ed",
"source": "ctyun.faas.trigger.kafka",
"specversion": "1.0",
"type": "kafka:topic:send-message",
"datacontenttype": "application/json",
"subject": "kafka-trigger-mqbjvsezbp-dial-test:test-for-faas",
"time": "2025-05-22T02:04:16Z",
"data": {
"headers": {},
"timestamp": 1747879456,
"topic": "test-for-faas",
"partition": 0,
"offset": 15280,
"key": "",
"value": "msg[9]: 154b2a0e-2c3d-4b03-ae9e-c225b5370c3b, ts=2025-05-22 02:04:16"
}
}
]| 參數 | 類型 | 示例值 | 描述 |
|---|---|---|---|
| id | string | eca53463-6baf-4d56-8f86-cbdb748208ed | 事件ID。標識事件的唯一值。 |
| source | string | ctyun.faas.trigger.kafka | 事件源。Kafka觸發器固定為ctyun.faas.trigger.kafka。 |
| specversion | string | 1.0 | CloudEvents協議版本。 |
| type | string | kafka:topic:send-message | 事件類型。 |
| datacontenttype | string | application/json | 參數data的內容形式。 |
| subject | string | kafka-trigger-mqbjvsezbp-dial-test:test-for-faas | 事件主體。格式為[SourceName]:[消息topic]。 |
| time | string | 2025-05-22T02:04:16Z | 消息被觸發的時間。 |
| data | object | - | Kafka觸發器獨有消息格式,詳細參見下文RawData描述。 |
RawData格式是CloudEvent格式的子集,只包含原始kafka消息的信息,消息結構相當于CloudEvent的data字段
[
{
"offset" : 15280,
"partition" : 0,
"headers" : {},
"topic" : "test-for-faas",
"key" : "testkey",
"timestamp" : 1747879456,
"value" : "msg[9]: 154b2a0e-2c3d-4b03-ae9e-c225b5370c3b, ts=2025-05-22 02:04:16"
}
]| 參數 | 類型 | 示例值 | 描述 |
|---|---|---|---|
| offset | int | 15280 | 消息偏移量。 |
| partition | int | 0 | 分區信息。 |
| headers | map | - | 消息攜帶的header。 |
| topic | string | test-for-faas | topic的名稱。 |
| key | string | testkey | 消息的key。 |
| timestamp | int | 1747879456 | Unix時間戳(秒)。 |
| value | string | hello,kafka | 消息的內容。 |
RocketMQ觸發器
有兩種消息格式:RawData和CloudEvent格式,可在觸發器配置里選擇。
CloudEvent格式如下:
[
{
"id": "21000777109E05EF04B574B8A1DF0001",
"source": "ctyun.faas.trigger.rocketmq",
"specversion": "1.0",
"type": "rocketmq:topic:send-message",
"datacontenttype": "application/json",
"subject": ":mq-func-hckzeddbxj-rocket-test:test-for-faas",
"time": "57361-07-03T16:18:39Z",
"data": {
"topic": "test-for-faas",
"properties": {
"CLUSTER": "1dafcb4049ba42df96d80b7dd2f99c5e",
"CONSUME_START_TIME": "1747987057130",
"KEYS": "webtest",
"MAX_OFFSET": "2",
"MIN_OFFSET": "0",
"TAGS": "1747987057097_0",
"UNIQ_KEY": "21000777109E05EF04B574B8A1DF0001"
},
"data": "WebTestTools_174798gjkS"
}
}
]| 參數 | 類型 | 示例值 | 描述 |
|---|---|---|---|
| id | string | 21000777109E05EF04B574B8A1DF0001 | 事件ID。標識事件的唯一值。提取自RocketMQ消息。 |
| source | string | ctyun.faas.trigger.rocketmq | 事件源。RocketMQ觸發器固定為ctyun.faas.trigger.rocketmq。 |
| specversion | string | 1.0 | CloudEvents協議版本。 |
| type | string | rocketmq:topic:send-message | 事件類型。 |
| datacontenttype | string | application/json | 參數data的內容形式。 |
| subject | string | mq-func-hckzeddbxj-rocket-test:test-for-faas | 事件主體。 |
| time | string | 2025-05-22T02:04:16Z | 消息被觸發的時間。 |
| data | object | - | RocketMQ觸發器獨有消息格式,詳細參見下文RawData描述。 |
RawData格式是CloudEvent格式的子集,只包含原始rocketmq消息的信息,消息結構相當于CloudEvent的data字段,具體如下:
[
{
"topic": "test-for-faas",
"properties": {
"CLUSTER": "1dafcb4049ba42df96d80b7dd2f99c5e",
"CONSUME_START_TIME": "1747987204637",
"KEYS": "webtest",
"MAX_OFFSET": "3",
"MIN_OFFSET": "0",
"TAGS": "1747987204605_0",
"UNIQ_KEY": "2100077510A605EF04B574BAE2080001"
},
"data": "WebTestTools_17v6fg0J"
}
]| 參數 | 類型 | 示例 | 描述 |
|---|---|---|---|
| topic | string | test-for-faas | Topic名稱。 |
| properties | map | - | 消息自定義屬性。 |
| properties.CLUSTER | string | 1dafcb4049ba42df96d80b7dd2f99c5e | RocketMQ實例ID。 |
| properties.CONSUME_START_TIME | string | 1747987204637 | Unix時間戳,毫秒。 |
| properties.KEYS | string | webtest | 消息的key。 |
| properties.MAX_OFFSET | string | 3 | 消息隊列中的最大偏移量。 |
| properties.MIN_OFFSET | string | 0 | 消息隊列中的最小偏移量。 |
| properties.TAGS | string | 1747987204605_0 | 消息標簽。 |
| properties.UNIQ_KEY | string | 2100077510A605EF04B574BAE2080001 | 消息唯一鍵。 |
| data | string | WebTestTools_17v6fg0J | 消息體內容。 |
RabbitMQ觸發器
有兩種消息格式:RawData和CloudEvent格式,可在觸發器配置里選擇。
CloudEvent格式如下:
[
{
"id": "eca53463-6baf-4d56-8f86-cbdb748208ed",
"source": "ctyun.faas.trigger.rabbitmq",
"specversion": "1.0",
"type": "rabbitmq:queue:send-message",
"datacontenttype": "application/json",
"subject": ":mq-func-hckzeddbxj-rabbit::test-for-faas",
"time": "2025-05-22T02:04:16Z",
"data": {
"headers": {
"myheader": "header-value"
},
"properties": {
"deliveryMode": 1,
"priority": 0
},
"deliveryTag": 1,
"redelivered": false,
"exchange": "",
"routingKey": "test-for-faas",
"body": "hello, rabbitmq"
}
}
]| 參數 | 類型 | 示例值 | 描述 |
|---|---|---|---|
| id | string | eca53463-6baf-4d56-8f86-cbdb748208ed | 事件ID。標識事件的唯一值。 |
| source | string | ctyun.faas.trigger.rabbitmq | 事件源。RabbitMQ觸發器固定為ctyun.faas.trigger.rabbitmq。 |
| specversion | string | 1.0 | CloudEvents協議版本。 |
| type | string | rabbitmq:queue:send-message | 事件類型。 |
| datacontenttype | string | application/json | 參數data的內容形式。 |
| subject | string | mq-func-hckzeddbxj-rabbit::test-for-faas | 事件主體。 |
| time | string | 2025-05-22T02:04:16Z | 消息被觸發的時間。 |
| data | object | - | RabbitMQ觸發器獨有數據格式,詳細參見下文RawData描述。 |
RawData格式是CloudEvent格式的子集,只包含原始rabbitmq消息的信息,消息結構相當于CloudEvent的data字段,具體如下:
[
{
"headers": {
"myheader": "100"
},
"properties": {
"deliveryMode": 1,
"priority": 0,
"type": "mytype"
},
"deliveryTag": 1,
"redelivered": false,
"exchange": "",
"routingKey": "test-for-faas",
"body": "hello, rabbitmq"
}
]| 參數 | 類型 | 示例 | 描述 |
|---|---|---|---|
| headers | map | {"myheader": "100"} | 消息的自定義header。 |
| properites | map | { | 消息的自定義屬性值。 |
| deliveryTag | int | 1 | 消息的tag。 |
| redelivered | bool | false | 消息是否是被重新投遞: false:表示這條消息是第一次投遞給消費者。 true:表示這條消息是被重新投遞的。 |
| exchange | string | - | 消息的Exchange。 |
| routingKey | string | test-for-faas | 消息的路由key。 |
| body | string | hello, rabbitmq | 消息的內容。 |
MQTT觸發器
[
{
"messageId" : 0,
"payload" : "Hello, MQTT",
"topic" : "test-for-faas"
}
]| 參數 | 類型 | 示例 | 描述 |
|---|---|---|---|
| messageId | int | 0 | 消息的id。 |
| payload | string | Hello, MQTT | 消息的內容。 |
| topic | string | test-for-faas | 消息topic名稱。 |
對象存儲觸發器
{
"id": "1723530386.250878.3f7f5c***",
"source": "ctyun.zos",
"specversion": "1.0",
"type": "s3:ObjectCreated:Post",
"subject": "ctyun.zos:b342b77ef26b11e***:5d4ce56a08db4a***:bucket-***:abc.txt",
"time": "2024-03-05T13:52:18.374Z",
"data": {
"userIdentity": {
"principalId": "testuser_sub1"
},
"responseElements": {
"x-amz-request-id": "ec2906f5-e72t-494f-9aa1-f621108***",
"x-amz-id-2": "1286b9-zone2-zon***"
},
"s3": {
"bucket": {
"name": "bucket-***",
"ownerIdentity": {
"principalId": "testuser"
},
"arn": "arn:aws:s3:::bucket-***",
"id": "ec2906f5-e72f-494f-9aa1-f6211***"
},
"object": {
"key": "abc.txt",
"size": 417791,
"etag": "3f7f 5c925b10c789e3e1389***",
"versionId": "",
"sequencer": "92FCBA66FA6***",
"metadata": []
}
}
},
"datacontenttype": "application/json;charset=utf-8",
"ctyunaccountid": "5d4ce56a08db4ac19***",
"ctyunuserid": "usertest-userid",
"ctyunresourceid": "",
"ctyuneventbusname": "default",
"ctyunregion": "b342b77ef26b11ecb0***"
}| 參數 | 類型 | 示例 | 描述 |
|---|---|---|---|
| id | string | 1723530386.250878.3f7f5c*** | 事件ID。標識事件的唯一值。 |
| source | string | ctyun.zos | 事件源。對象存儲觸發器固定為ctyun.zos。 |
| specversion | string | 1.0 | CloudEvents協議版本。 |
| type | string | s3:ObjectCreated:Post | 事件類型。 |
| subject | string | ctyun.zos:b342b77ef26***:5d4ce56a08d***:bucketname***:objectname*** | 事件主體。格式為ctyun.zos::::,其中是資源池ID,是天翼云賬號ID,是對象存儲產生事件的bucket名稱,是對象存儲產生事件的文件名稱。 |
| time | string | 2024-03-05T13:52:18.374Z | 事件產生的時間。 |
| datacontenttype | string | application/json;charset=utf-8 | 參數data的內容形式。 |
| data | object | - | 事件內容。JSON對象,內容由發起事件的服務決定。CloudEvents可能包含事件發生時由事件生產者給定的上下文,data中封裝了這些信息。 |
| ctyunaccountid | string | 5d4ce56a08db4ac19*** | 天翼云賬號ID |
| ctyunuserid | string | usertest-userid | 天翼云用戶ID |
| ctyunresourceid | string | 27aadda4-db94-11ee-a6fc-e8b47009**** | 天翼云資源ID |
| ctyuneventbusname | string | default | 接收事件的事件總線名稱,天翼云產品事件為default。 |
| ctyunregion | string | b342b77ef26b11ecb0*** | 接收事件的地域。 |
日志觸發器
{
"id": "dc4b3a28-3688-400e-8a69-a647bafb015b",
"type": "ctlts:unit-insert",
"source": "ctyun.ctlts",
"subject": "392b21xxe79477",
"specversion": "1.0",
"time": "2024-12-05T08:51:22.663089039Z",
"data": {
"beginCursor": 381681168434049700,
"endCursor": 381681168434051100,
"unitCode": "392b21xxe79477"
},
"ctyuneventbusname": "default",
"ctyunaccountid": "5d4ce56a08xxxx995b6c3c92ac5884",
"ctyunregion": "b342b77ef2xxxxecb0ac0242ac110002"
}| 參數 | 類型 | 示例 | 描述 |
|---|---|---|---|
| id | string | dc4b3a28-3688-400e-8a69-a647bafb015b | 事件ID。標識事件的唯一值。 |
| source | string | ctyun.ctlts | 事件源。日志觸發器固定為ctyun.ctlts。 |
| specversion | string | 1.0 | CloudEvents協議版本。 |
| type | string | ctlts:unit-insert | 事件類型。 |
| subject | string | 392b21xxe79477 | 事件主體。這里是日志單元ID。 |
| time | string | 2024-03-05T13:52:18.374Z | 事件產生的時間。 |
| data | object | - | 事件內容。JSON對象,內容由發起事件的服務決定。CloudEvents可能包含事件發生時由事件生產者給定的上下文,data中封裝了這些信息。 |
| data.beginCurror | int | 381681168434049700 | 日志數據起始游標,標識增量日志的開始位置 |
| data.endCursor | int | 381681168434051100 | 日志數據結束游標,標識當次上報日志結束為止 |
| data.unitCode | string | 392b21xxe79477 | 日志單元ID |
| ctyunaccountid | string | 5d4ce56a08db4ac19*** | 天翼云賬號ID |
| ctyuneventbusname | string | default | 接收事件的事件總線名稱,天翼云產品事件為default。 |
| ctyunregion | string | b342b77ef26b11ecb0*** | 接收事件的地域。 |