You need to enable JavaScript to run this app.
导航

触发器事件消息结构

最近更新时间2023.12.28 14:38:04

首次发布时间2022.08.26 16:54:48

触发器将 Json 格式的消息数据,作为 event 入参,传递给您的函数,触发函数执行。不同触发器传递的消息数据结构不同,本文为您汇总了所有对接函数服务的触发器事件的消息结构。

说明

  • 不同运行时语言的 event 参数可能略有差异,请以实际为准。
  • Golang 运行时的 event 参数已有定义,可通过 Golang event 定义 获取并使用。

Timer 触发器

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",
 
}
参数类型说明
idstringcloudevent 自有字段:请求 id,每个请求都有一个唯一 id。
sourcestringcloudevent自有字段:Timer 触发器的取值为/faas/event/timer/{timer_id}
specversionstringcloudevent自有字段:cloudevent 版本。
timestring消息触发时间,时间格式为 ISO 8601 格式的时间戳。
typestringcloudevent自有字段:事件类型,Timer 触发器的取值为 faas.timer.event
datacontenttypestringcloudevent自有字段:消息类型,均为 application/octet-stream
datastring消息内容。

API 网关触发器

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\"}"
	}
参数说明
httpMethodHTTP 请求方法,包括 POST、GET、PUT、DELETE、HEAD、OPTIONS。
pathHTTP 请求路径。
pathParametersHTTP 请求路径的参数。
queryStringParametersHTTP 请求路径的 query 参数。
headersHTTP 请求头。子参数说明,请参见下方 headers 参数说明。
bodyHTTP 请求 payload。

headers 参数说明如下:

参数说明
Host函数实例的地址,格式为实例 IP:port
User-Agent浏览器身份标识的字符串。
Accept浏览器可接受的文件类型。
Accept-Encoding浏览器可接受的编码方式。
X-Faas-Request-Id函数请求的唯一标识符。

Kafka 触发器

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": "" 
  }
}
参数类型说明
idstringcloudevent 自有字段:请求 id,每个请求都有一个唯一 id。
sourcestringcloudevent 自有字段:Kafka 触发器的取值为/faas/event/kafka/{trigger_id}
typestringcloudevent 自有字段:事件类型,Kafka 触发器的取值为 faas.kafka.event
specversionstringcloudevent 自有字段:cloudevent 版本。
datacontenttypestringcloudevent 自有字段:消息类型,均为application/octet-stream
timestring消息触发时间,时间格式为 ISO 8601 格式的时间戳。
datastring消息内容。
extensions-event 的扩展信息。子参数说明,请参见下方 extensions 参数说明。

extensions 参数说明如下:

参数类型说明
topicstring消息来源 Topic。
partitionstring消息来源的分区。
consumergroupstring消息来源的消费组。
offsetstring消费位点。
keystring消息 Key。

BMQ 触发器

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": "" 
  }
}
参数类型说明
idstringcloudevent 自有字段:请求 id,每个请求都有一个唯一 id。
sourcestringcloudevent 自有字段:BMQ 触发器的取值为/faas/event/bmq/{trigger_id}
typestringcloudevent 自有字段:事件类型,BMQ 触发器的取值为 faas.bmq.event
specversionstringcloudevent 自有字段:cloudevent 版本。
datacontenttypestringcloudevent 自有字段:消息类型,均为application/octet-stream
timestring消息触发时间,时间格式为 ISO 8601 格式的时间戳。
datastring消息内容。
extensions-event 的扩展信息。子参数说明,请参见下方 extensions 参数说明。

extensions 参数说明如下:

参数类型说明
topicstring消息来源 Topic。
partitionstring消息来源的分区。
consumergroupstring消息来源的消费组。
offsetstring消费位点。
keystring消息 Key。

RocketMQ 触发器

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" 
    }
}
参数类型说明
idstringcloudevent 自有字段:请求 id,每个请求都有一个唯一 id。
sourcestringcloudevent 自有字段:RocketMQ 触发器的取值为/faas/event/rocketmq/{trigger_id}
typestringcloudevent 自有字段:事件类型,RocketMQ 触发器的取值为 faas.rocketmq.event
specversionstringcloudevent 自有字段:cloudevent 版本。
datacontenttypestringcloudevent 自有字段:消息类型,均为application/octet-stream
timestring消息触发时间,时间格式为 ISO 8601 格式的时间戳。
datastring消息内容。
extensions-event 的扩展信息。子参数说明,请参见下方 extensions 参数说明。

extensions 参数说明如下:

参数类型说明
topicstring消息来源 Topic。
queueidstring消息来源的队列 id。
consumergroupstring消息来源的消费组。
offsetstring消费位点。
msgidstring消息 id。
tagsstring消息的标签信息。

TOS 触发器

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"
               }
            }
         }
      ]
   }
}
参数类型说明
specversionstringcloudevent 自有字段:cloudevent 版本。
idstringcloudevent 自有字段:请求 id,每个请求都有一个唯一 id。
sourcestringcloudevent 自有字段:TOS 触发器的取值为/faas/event/tos/{bucket_name}
typestringcloudevent 自有字段:事件类型,TOS 触发器的取值为 faas.tos.event
datacontenttypestringcloudevent 自有字段:消息类型,均为application/octet-stream
timestring消息触发时间,时间格式为 ISO 8601 格式的时间戳。
datastringTOS 事件通知具体内容。详细说明请参考 TOS 事件