触发器将 Json 格式的消息数据,作为 event 入参,传递给您的函数,触发函数执行。不同触发器传递的消息数据结构不同,本文为您汇总了所有对接函数服务的触发器事件的消息结构。
说明
Timer 触发器事件消息结构如下:
// 示例 event { "id": "9cab1030-dccf-4b61-ae07-542bffef****", "source": "/faas/event/timer/{timer_id}", "specversion": "1.0", "time": "2022-11-22T04:28:07.945838513Z", "type": "faas.timer.event" "datacontenttype": "application/octet-stream", "data": "Hello Volcengine", }
参数 | 类型 | 说明 |
---|---|---|
id | string | cloudevent 自有字段:请求 id,每个请求都有一个唯一 id。 |
source | string | cloudevent自有字段:Timer 触发器的取值为/faas/event/timer/{timer_id} 。 |
specversion | string | cloudevent自有字段:cloudevent 版本。 |
time | string | 消息触发时间,时间格式为 ISO 8601 格式的时间戳。 |
type | string | cloudevent自有字段:事件类型,Timer 触发器的取值为 faas.timer.event 。 |
datacontenttype | string | cloudevent自有字段:消息类型,均为 application/octet-stream 。 |
data | string | 消息内容。 |
API 网关触发器事件消息结构如下:
// 示例 event { "httpMethod": "GET", "path": "/", "pathParameters": { "path": "value" }, "queryStringParameters": { "foo": "bar" }, "headers": { "Host": "10.243.***.***:9001", "User-Agent": "curl/7.79.1", "Accept": "*/*", "Accept-Encoding": "gzip", "X-Faas-Request-Id": "b7e5ac05-cf6a-466a-86d4-093b24c3****" }, "body": "{\"hello\": \"veFaaS\"}" }
参数 | 说明 |
---|---|
httpMethod | HTTP 请求方法,包括 POST、GET、PUT、DELETE、HEAD、OPTIONS。 |
path | HTTP 请求路径。 |
pathParameters | HTTP 请求路径的参数。 |
queryStringParameters | HTTP 请求路径的 query 参数。 |
headers | HTTP 请求头。子参数说明,请参见下方 headers 参数说明。 |
body | HTTP 请求 payload。 |
headers 参数说明如下:
参数 | 说明 |
---|---|
Host | 函数实例的地址,格式为实例 IP:port 。 |
User-Agent | 浏览器身份标识的字符串。 |
Accept | 浏览器可接受的文件类型。 |
Accept-Encoding | 浏览器可接受的编码方式。 |
X-Faas-Request-Id | 函数请求的唯一标识符。 |
Kafka 触发器事件消息结构如下:
// 示例 event { "id": "cb57fdb4-1c12-490d-b556-b8c70054****", "source": "/faas/event/kafka/{trigger_id}", "type": "faas.kafka.event", "specversion": "1.0", "datacontenttype": "application/octet-stream", "time": "2022-04-26T08:55:36.723908863Z", "data": "user data", "extensions": { "topic": "test_topic", "partition": "9", "consumergroup": "test_topic_xw1t1yqz", "offset": "34", "key": "" } }
参数 | 类型 | 说明 |
---|---|---|
id | string | cloudevent 自有字段:请求 id,每个请求都有一个唯一 id。 |
source | string | cloudevent 自有字段:Kafka 触发器的取值为/faas/event/kafka/{trigger_id} 。 |
type | string | cloudevent 自有字段:事件类型,Kafka 触发器的取值为 faas.kafka.event 。 |
specversion | string | cloudevent 自有字段:cloudevent 版本。 |
datacontenttype | string | cloudevent 自有字段:消息类型,均为application/octet-stream 。 |
time | string | 消息触发时间,时间格式为 ISO 8601 格式的时间戳。 |
data | string | 消息内容。 |
extensions | - | event 的扩展信息。子参数说明,请参见下方 extensions 参数说明。 |
extensions 参数说明如下:
参数 | 类型 | 说明 |
---|---|---|
topic | string | 消息来源 Topic。 |
partition | string | 消息来源的分区。 |
consumergroup | string | 消息来源的消费组。 |
offset | string | 消费位点。 |
key | string | 消息 Key。 |
BMQ 触发器事件消息结构如下:
// 示例 event { "id": "cb57fdb4-1c12-490d-b556-b8c70054****", "source": "/faas/event/bmq/{trigger_id}", "type": "faas.bmq.event", "specversion": "1.0", "datacontenttype": "application/octet-stream", "time": "2022-04-26T08:55:36.723908863Z", "data": "user data", "extensions": { "topic": "test_topic", "partition": "9", "consumergroup": "test_topic_xw1t1yqz", "offset": "34", "key": "" } }
参数 | 类型 | 说明 |
---|---|---|
id | string | cloudevent 自有字段:请求 id,每个请求都有一个唯一 id。 |
source | string | cloudevent 自有字段:BMQ 触发器的取值为/faas/event/bmq/{trigger_id} 。 |
type | string | cloudevent 自有字段:事件类型,BMQ 触发器的取值为 faas.bmq.event 。 |
specversion | string | cloudevent 自有字段:cloudevent 版本。 |
datacontenttype | string | cloudevent 自有字段:消息类型,均为application/octet-stream 。 |
time | string | 消息触发时间,时间格式为 ISO 8601 格式的时间戳。 |
data | string | 消息内容。 |
extensions | - | event 的扩展信息。子参数说明,请参见下方 extensions 参数说明。 |
extensions 参数说明如下:
参数 | 类型 | 说明 |
---|---|---|
topic | string | 消息来源 Topic。 |
partition | string | 消息来源的分区。 |
consumergroup | string | 消息来源的消费组。 |
offset | string | 消费位点。 |
key | string | 消息 Key。 |
RocketMQ 触发器事件消息结构如下:
// 示例 event { "id":"2372345f-950e-432f-b6bf-6293dd36****", "source":"/faas/event/rocketmq/{trigger_id}", "type":"faas.rocketmq.event", "specversion":"1.0", "datacontenttype":"application/octet-stream", "time":"2022-10-10T03:13:47.085293242Z", "data":"DATA SENT BY THE PRODUCER", "extensions":{ "topic":"MQ_INST_85bcoh8hirzg_mw2fx%topic-zero", // [instance-id]%[topic-name] "queueid":"6", "consumergroup":"MQ_INST_85bcoh8hirzg_mw2fx%GID_group_3", // [instance-id]%[group-name] "offset":"18183", "msgid":"0A41C2EB12F50000000030c216100006", "tags": "abc" } }
参数 | 类型 | 说明 |
---|---|---|
id | string | cloudevent 自有字段:请求 id,每个请求都有一个唯一 id。 |
source | string | cloudevent 自有字段:RocketMQ 触发器的取值为/faas/event/rocketmq/{trigger_id} 。 |
type | string | cloudevent 自有字段:事件类型,RocketMQ 触发器的取值为 faas.rocketmq.event 。 |
specversion | string | cloudevent 自有字段:cloudevent 版本。 |
datacontenttype | string | cloudevent 自有字段:消息类型,均为application/octet-stream 。 |
time | string | 消息触发时间,时间格式为 ISO 8601 格式的时间戳。 |
data | string | 消息内容。 |
extensions | - | event 的扩展信息。子参数说明,请参见下方 extensions 参数说明。 |
extensions 参数说明如下:
参数 | 类型 | 说明 |
---|---|---|
topic | string | 消息来源 Topic。 |
queueid | string | 消息来源的队列 id。 |
consumergroup | string | 消息来源的消费组。 |
offset | string | 消费位点。 |
msgid | string | 消息 id。 |
tags | string | 消息的标签信息。 |
TOS 触发器事件消息结构如下:
//示例 event { "specversion":"1.0", "id":"1124807578fd9936307578f-ac17****", "source":"/faas/event/tos/{bucket_name}", "type":"faas.tos.event", "datacontenttype":"application/octet-stream", "time":"2022-08-25T11:06:29.043768218Z", "data":{ "events":[ { "eventName":"tos:ObjectCreated:Put", "eventSource":"tos", "eventTime":"2022-08-25T11:05:51Z", "eventVersion":"1.0", "tos":{ "bucket":{ "trn":"trn:tos:::test", "name":"test", "ownerIdentify":"200000****" }, "object":{ "eTag":"cd163b393cf54d961f9959842ff1****", "key":"build.sh", "size":188, "versionId":"57CE0809CDADB97E****" }, "tosSchemaVersion":"1.0", "ruleId":"303436663662383932300ee348075767****", "region":"cn-beijing", "requestParameters":{ "sourceIPAddress":"192.160.**.***:*****" }, "responseElements":{ "requestId":"1124807578fd9936307578f-ac17****" }, "userIdentity":{ "principalId":"trn:iam::200000****:root" } } } ] } }
参数 | 类型 | 说明 |
---|---|---|
specversion | string | cloudevent 自有字段:cloudevent 版本。 |
id | string | cloudevent 自有字段:请求 id,每个请求都有一个唯一 id。 |
source | string | cloudevent 自有字段:TOS 触发器的取值为/faas/event/tos/{bucket_name} 。 |
type | string | cloudevent 自有字段:事件类型,TOS 触发器的取值为 faas.tos.event 。 |
datacontenttype | string | cloudevent 自有字段:消息类型,均为application/octet-stream 。 |
time | string | 消息触发时间,时间格式为 ISO 8601 格式的时间戳。 |
data | string | TOS 事件通知具体内容。详细说明请参考 TOS 事件。 |
TLS 触发器事件消息结构如下:
// 示例 event { 'id': 'f42307b3-5cd6-4d92-9dc7-b4559175****', 'source': '/faas/event/tls/4o3f****', 'type': 'faas.tls.event', 'specversion': '1.0', 'datacontenttype': 'application/octet-stream', 'time': '2024-07-09T15:41:01.977924767Z', 'data': { '__path__': '/var/log/emlmsobj/0.log', '__source__': '192.**.**.**', '__tag____client_ip__': '192.**.**.**', '__tag____receive_time__': '1720539661666', 'content': '[FaaS System] Stopping function...', 'function_id': 'emlm****', 'function_name': 'TLSProducer2', 'log_type': 'stdout', 'pod_name': 'emlmsobj-v2nv5z3yv9-69b9bb7487-*****', 'revision_number': '1', 'timestamp': '2024-07-09T15:41:00.086897178Z' }, 'extensions': { 'consumergroup': 'tls-trigger-consume-2_4o3fw1qf', 'key': '', 'maxretrynum': '3', 'offset': '43', 'partition': '0', 'retriesforbadstatusrequests': '0', 'topic': 'out-ba109ccd-7edc-4a6d-9095-8cdcb1f0****' }, }
参数 | 类型 | 说明 |
---|---|---|
id | string | cloudevent 自有字段:请求 id,每个请求都有一个唯一 id。 |
source | string | cloudevent 自有字段:TLS 触发器的取值为/faas/event/tls/{trigger_id} 。 |
type | string | cloudevent 自有字段:事件类型,TLS 触发器的取值为 faas.tls.event 。 |
specversion | string | cloudevent 自有字段:cloudevent 版本。 |
datacontenttype | string | cloudevent 自有字段:消息类型,均为application/octet-stream 。 |
time | string | 消息触发时间,时间格式为 ISO 8601 格式的时间戳。 |
data | json | TLS 日志消息内容。其中 __path__, __source__, __tag____client_ip__ 和 __tag____receive_time__ 是 TLS 自有字段。其它是用户输出日志指定的字段。 |
extensions | json | event 的扩展信息。子参数说明,请参见下方 extensions 参数说明。 |
extensions 参数说明如下:
参数 | 类型 | 说明 |
---|---|---|
topic | string | 消息来源 Topic。 |
partition | string | 消息来源的分区。 |
consumergroup | string | 消息来源的消费组。 |
offset | string | 消费位点。 |
key | string | 消息 Key。 |
retriesforbadstatusrequests | string | 消息重试数。n 代表重试第 n 次。 |
maxretrynum | string | 消息最大重试次数。 |