You need to enable JavaScript to run this app.
导航
触发器事件消息结构
最近更新时间:2024.07.15 14:14:53首次发布时间: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 事件

TLS 触发器

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****'
     },
}
参数类型说明
idstringcloudevent 自有字段:请求 id,每个请求都有一个唯一 id。
sourcestringcloudevent 自有字段:TLS 触发器的取值为/faas/event/tls/{trigger_id}
typestringcloudevent 自有字段:事件类型,TLS 触发器的取值为 faas.tls.event
specversionstringcloudevent 自有字段:cloudevent 版本。
datacontenttypestringcloudevent 自有字段:消息类型,均为application/octet-stream
timestring消息触发时间,时间格式为 ISO 8601 格式的时间戳。
datajsonTLS 日志消息内容。其中 __path__, __source__, __tag____client_ip__ 和 __tag____receive_time__ 是 TLS 自有字段。其它是用户输出日志指定的字段。
extensionsjsonevent 的扩展信息。子参数说明,请参见下方 extensions 参数说明。

extensions 参数说明如下:

参数类型说明
topicstring消息来源 Topic。
partitionstring消息来源的分区。
consumergroupstring消息来源的消费组。
offsetstring消费位点。
keystring消息 Key。
retriesforbadstatusrequestsstring消息重试数。n 代表重试第 n 次。
maxretrynumstring消息最大重试次数。