详情页标题前

腾讯云云函数(SCF)触发器事件消息结构汇总-云淘科技

详情页1

文档主要汇总所有对接云函数 SCF 的触发器事件的消息结构,触发器配置详情及限制请参考具体的 触发器管理文档。注意触发器传递的入参事件结构已有部分定义,可直接使用。您可以通过 java cloud event 定义 获取 Java 的库并使用,通过 go cloud event 定义 获取 Golang 的库并使用。

API 网关触发器的集成请求事件消息结构

在 API 网关触发器接收到请求时,会将类似以下 JSON 格式的事件数据发送给绑定的 SCF 函数。详情见 API 网关触发器。

{  "requestContext": {    "serviceId": "service-f94sy04v",    "path": "/test/{path}",    "httpMethod": "POST",    "requestId": "c6af9ac6-****-****-9a41-93e8deadbeef",    "identity": {      "secretId": "SECRET_ID" # 硬编码密钥到代码中有可能随代码泄露而暴露,为保护密钥安全,建议将密钥设置在环境变量中。                              # 可参考 https://cloud.tencent.com/document/product/1278/85305    },    "sourceIp": "10.0.2.14",    "stage": "release"  },  "headers": {    "Accept-Language": "en-US,en,cn",    "Accept": "text/html,application/xml,application/json",    "Host": "service-3ei3tii4-251000691.ap-guangzhou.apigateway.myqloud.com",    "User-Agent": "User Agent String"  },  "body": "{\"test\":\"body\"}",  "pathParameters": {    "path": "value"  },  "queryStringParameters": {    "foo": "bar"  },  "headerParameters":{    "Refer": "10.0.2.14"  },  "stageVariables": {    "stage": "release"  },  "path": "/test/value",  "queryString": {    "foo" : "bar",    "bob" : "alice"  },  "httpMethod": "POST"}

Timer 触发器的事件消息结构

在指定时间触发调用云函数时,会将类似以下的 JSON 格式事件数据发送给绑定的 SCF 云函数。

{    "Type":"Timer",    "TriggerName":"EveryDay",    "Time":"2019-02-21T11:49:00Z",    "Message":"user define msg body"}

COS 触发器的事件消息结构

在指定的 COS Bucket 发生对象创建或对象删除事件时,会将类似以下的 JSON 格式事件数据发送给绑定的 SCF 函数。详情见 COS 触发器。

    "Records": [{        "cos": {            "cosSchemaVersion": "1.0",            "cosObject": {                "url": "http://testpic-1253970026.cos.ap-chengdu.myqcloud.com/testfile",                "meta": {                    "x-cos-request-id": "NWMxOWY4MGFfMjViMjU4NjRfMTUy********ZjM=",                    "Content-Type": ""                },                "vid": "",                "key": "/1253970026/testpic/testfile",                "size": 1029            },            "cosBucket": {                "region": "cd",                "name": "testpic",                "appid": "1253970026"            },            "cosNotificationId": "unkown"        },        "event": {            "eventName": "cos:ObjectCreated:*",            "eventVersion": "1.0",            "eventTime": 1545205770,            "eventSource": "qcs::cos",            "requestParameters": {                "requestSourceIP": "192.168.15.101",                "requestHeaders": {                    "Authorization": "q-sign-algorithm=sha1&q-ak=AKIDQm6iUh2NJ6jL41tVUis9KpY5Rgv49zyC&q-sign-time=1545205709;1545215769&q-key-time=1545205709;1545215769&q-header-list=host;x-cos-storage-class&q-url-param-list=&q-signature=098ac7dfe9cf21116f946c4b4c29001c2b449b14"                }            },            "eventQueue": "qcs:0:lambda:cd:appid/1253970026:default.printevent.$LATEST",            "reservedInfo": "",            "reqid": 179398952        }    }]}

CKafka 触发器的事件消息结构

在指定的 CKafka Topic 接收到消息时,云函数后台的消费者模块会消费 CKafka Topic 中的消息,并将消息组装为类似以下的 JSON 格式事件,触发绑定的函数并将数据内容作为入参传递给函数。详情见 CKafka 触发器。

{  "Records": [    {      "Ckafka": {        "topic": "test-topic",        "partition":1,        "offset":36,        "msgKey": "None",        "msgBody": "Hello from Ckafka!"      }    },    {      "Ckafka": {        "topic": "test-topic",        "partition":1,        "offset":37,        "msgKey": "None",        "msgBody": "Hello from Ckafka again!"      }    }  ]}

CMQ Topic 触发器的事件消息结构

在指定的 CMQ Topic 接受到消息时,会将类似以下的 JSON 格式事件数据发送给绑定的 SCF 函数。详情见 CMQ Topic 触发器。

{  "Records": [    {      "CMQ": {        "type": "topic",        "topicOwner":"120xxxxx",        "topicName": "testtopic",        "subscriptionName":"xxxxxx",        "publishTime": "1970-01-01T00:00:00.000Z",        "msgId": "123345346",        "requestId":"123345346",        "msgBody": "Hello from CMQ!",        "msgTag": "tag1,tag2"      }    }  ]}

CLS 触发器的事件消息结构

在指定的 CLS 触发器接收到消息时,CLS 的后台消费者模块会消费消息,并将消息组装异步调用您的函数。为保证单次触发传递数据的效率,数据字段的值是 Base64 编码的 ZIP 文档。详情见 CLS 触发器。

{  "clslogs": {    "data": "ewogICAgIm1lc3NhZ2VUeXBlIjogIkRBVEFfTUVTU0FHRSIsCiAgICAib3duZXIiOiAiMTIzNDU2Nzg5MDEyIiwKICAgICJsb2dHcm91cCI6I..."  }} 

在解码和解压缩后,日志数据类似以下 JSON 体,以 CLS Logs 消息数据(已解码)为例:

{    "topic_id": "xxxx-xx-xx-xx-yyyyyyyy",    "topic_name": "testname",    "records": [{        "timestamp": "1605578090000000",        "content": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"    }, {        "timestamp": "1605578090000003",        "content": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"    }]}

MPS 触发器的事件消息结构

在指定的 MPS 触发器接收到消息时,事件结构与字段以 WorkflowTask 任务为例。详情见 MPS 触发器。示例如下:

{    "EventType":"WorkflowTask",    "WorkflowTaskEvent":{        "TaskId":"245****654-WorkflowTask-f46dac7fe2436c47******d71946986t0",        "Status":"FINISH",        "ErrCode":0,        "Message":"",        "InputInfo":{            "Type":"COS",            "CosInputInfo":{                "Bucket":"macgzptest-125****654",                "Region":"ap-guangzhou",                "Object":"/dianping2.mp4"            }        },        "MetaData":{            "AudioDuration":11.261677742004395,            "AudioStreamSet":[                {                    "Bitrate":127771,                    "Codec":"aac",                    "SamplingRate":44100                }            ],            "Bitrate":2681468,            "Container":"mov,mp4,m4a,3gp,3g2,mj2",            "Duration":11.261677742004395,            "Height":720,            "Rotate":90,            "Size":3539987,            "VideoDuration":10.510889053344727,            "VideoStreamSet":[                {                    "Bitrate":2553697,                    "Codec":"h264",                    "Fps":29,                    "Height":720,                    "Width":1280                }            ],            "Width":1280        },        "MediaProcessResultSet":[            {                "Type":"Transcode",                "TranscodeTask":{                    "Status":"SUCCESS",                    "ErrCode":0,                    "Message":"SUCCESS",                    "Input":{                        "Definition":10,                        "WatermarkSet":[                            {                                "Definition":515247,                                "TextContent":"",                                "SvgContent":""                            }                        ],                        "OutputStorage":{                            "Type":"COS",                            "CosOutputStorage":{                                "Bucket":"gztest-125****654",                                "Region":"ap-guangzhou"                            }                        },                        "OutputObjectPath":"/dasda/dianping2_transcode_10",                        "SegmentObjectName":"/dasda/dianping2_transcode_10_{number}",                        "ObjectNumberFormat":{                            "InitialValue":0,                            "Increment":1,                            "MinLength":1,                            "PlaceHolder":"0"                        }                    },                    "Output":{                        "OutputStorage":{                            "Type":"COS",                            "CosOutputStorage":{                                "Bucket":"gztest-125****654",                                "Region":"ap-guangzhou"                            }                        },                        "Path":"/dasda/dianping2_transcode_10.mp4",                        "Definition":10,                        "Bitrate":293022,                        "Height":320,                        "Width":180,                        "Size":401637,                        "Duration":11.26200008392334,                        "Container":"mov,mp4,m4a,3gp,3g2,mj2",                        "Md5":"31dcf904c03d0cd78346a12c25c0acc9",                        "VideoStreamSet":[                            {                                "Bitrate":244608,                                "Codec":"h264",                                "Fps":24,                                "Height":320,                                "Width":180                            }                        ],                        "AudioStreamSet":[                            {                                "Bitrate":48414,                                "Codec":"aac",                                "SamplingRate":44100                            }                        ]                    }                },                "AnimatedGraphicTask":null,                "SnapshotByTimeOffsetTask":null,                "SampleSnapshotTask":null,                "ImageSpriteTask":null            },            {                "Type":"AnimatedGraphics",                "TranscodeTask":null,                "AnimatedGraphicTask":{                    "Status":"FAIL",                    "ErrCode":30010,                    "Message":"TencentVodPlatErr Or Unkown",                    "Input":{                        "Definition":20000,                        "StartTimeOffset":0,                        "EndTimeOffset":600,                        "OutputStorage":{                            "Type":"COS",                            "CosOutputStorage":{                                "Bucket":"gztest-125****654",                                "Region":"ap-guangzhou"                            }                        },                        "OutputObjectPath":"/dasda/dianping2_animatedGraphic_20000"                    },                    "Output":null                },                "SnapshotByTimeOffsetTask":null,                "SampleSnapshotTask":null,                "ImageSpriteTask":null            },            {                "Type":"SnapshotByTimeOffset",                "TranscodeTask":null,                "AnimatedGraphicTask":null,                "SnapshotByTimeOffsetTask":{                    "Status":"SUCCESS",                    "ErrCode":0,                    "Message":"SUCCESS",                    "Input":{                        "Definition":10,                        "TimeOffsetSet":[
], "WatermarkSet":[ { "Definition":515247, "TextContent":"", "SvgContent":"" } ], "OutputStorage":{ "Type":"COS", "CosOutputStorage":{ "Bucket":"gztest-125****654", "Region":"ap-guangzhou" } }, "OutputObjectPath":"/dasda/dianping2_snapshotByOffset_10_{number}", "ObjectNumberFormat":{ "InitialValue":0, "Increment":1, "MinLength":1, "PlaceHolder":"0" } }, "Output":{ "Storage":{ "Type":"COS", "CosOutputStorage":{ "Bucket":"gztest-125****654", "Region":"ap-guangzhou" } }, "Definition":0, "PicInfoSet":[ { "TimeOffset":0, "Path":"/dasda/dianping2_snapshotByOffset_10_0.jpg", "WaterMarkDefinition":[ 515247 ] } ] } }, "SampleSnapshotTask":null, "ImageSpriteTask":null }, { "Type":"ImageSprites", "TranscodeTask":null, "AnimatedGraphicTask":null, "SnapshotByTimeOffsetTask":null, "SampleSnapshotTask":null, "ImageSpriteTask":{ "Status":"SUCCESS", "ErrCode":0, "Message":"SUCCESS", "Input":{ "Definition":10, "OutputStorage":{ "Type":"COS", "CosOutputStorage":{ "Bucket":"gztest-125****654", "Region":"ap-guangzhou" } }, "OutputObjectPath":"/dasda/dianping2_imageSprite_10_{number}", "WebVttObjectName":"/dasda/dianping2_imageSprite_10", "ObjectNumberFormat":{ "InitialValue":0, "Increment":1, "MinLength":1, "PlaceHolder":"0" } }, "Output":{ "Storage":{ "Type":"COS", "CosOutputStorage":{ "Bucket":"gztest-125****654", "Region":"ap-guangzhou" } }, "Definition":10, "Height":80, "Width":142, "TotalCount":2, "ImagePathSet":[ "/dasda/imageSprite/dianping2_imageSprite_10_0.jpg" ], "WebVttPath":"/dasda/imageSprite/dianping2_imageSprite_10.vtt" } } } ] }}

CLB 触发器的事件消息结构

在 CLB 触发器接收到请求时,会将类似以下 JSON 格式的事件数据发送给绑定的 SCF 函数。详情见 CLB 触发器说明。

{    "headers": {     "Content-type": "application/json",      "Host": "test.clb-scf.com",      "User-Agent": "Chrome",  
    "X-Stgw-Time": "1591692977.774",      "X-Client-Proto": "http",      "X-Forwarded-Proto": "http",      "X-Client-Proto-Ver": "HTTP/1.1",    "X-Real-IP": "9.43.175.219",    "X-Forwarded-For": "9.43.175.xx"  
    "X-Vip": "121.23.21.xx",      "X-Vport": "xx",      "X-Uri": "/scf_location",      "X-Method": "POST"        "X-Real-Port": "44347",    },    "payload": {      "key1": "123",      "key2": "abc"    }, “isBase64Encoded”: “false”}  

通过事件总线触发器传递的事件结构

通过 腾讯云事件总线,可以进一步拓展函数事件触发源,通过事件总线产生的事件将以以下形式发送给云函数,其中"data" 字段里内容由事件源决定,此处以 TDMQ 为例:

 {  "specversion": "0",  "id": "13a3f42d-7258-4ada-da6d-023a33******",  "type": "connector:tdmq",  "source": "tdmq.cloud.tencent",  "subjuect": "qcs::tdmq:$region:$account:topicName/$topicSets.clusterId/$topicSets.environmentId/$topicSets.topicName/$topicSets.subscriptionName",  "time": "1615430559146",  "region": "ap-guangzhou",  "datacontenttype": "application/json;charset=utf-8",  "data": {            "topic":  "persistent://appid/namespace/topic-1",          "tags": "testtopic",            "TopicType": "0",            "subscriptionName": "xxxxxx",            "toTimestamp": "1603352765001",          "partitions": "0",            "msgId": "123345346",            "msgBody": "Hello from TDMQ!"  }



官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/149524.html

(0)
上一篇 2023年12月9日
下一篇 2023年12月9日
详情页2

相关推荐

  • 腾讯云内容分发网络CDNHTTP 响应头配置

    配置场景 当您的业务用户请求业务资源时,您可以在返回的响应消息中配置头部,以实现跨域访问等目的。响应头部配置是域名维度的,因此一旦配置生效,会对域名下任意一个资源的响应消息生效。配置响应头部仅影响客户端(如浏览器)的响应行为,不会影响到 CDN 节点的缓存行为。 配置指南 查看配置 登录 CDN 控制台,在菜单栏里选择域名管理,单击域名右侧管理,即可进入域名…

    2023年12月9日
  • 腾讯云对象存储生效条件

    简介 生效条件是访问策略语言中的一部分,一个完整的生效条件包括如下元素:条件键:表示生效条件的具体类型,例如用户访问来源 IP、授权时间等。条件操作符:表示生效条件的判断方法。条件值:指条件键的值。详情可参见 访问管理 CAM 生效条件。说明当您使用条件键编写策略时,请务必遵循最小权限原则,仅为适用请求(action)添加相应的条件键,避免在指定操作(act…

    腾讯云 2023年12月9日
  • 腾讯云弹性伸缩简介

    部署架构 我们可以按以下架构创建微信小程序,其中业务服务器集群和会话管理服务器集群需要具备弹性伸缩能力。如下图所示:  功能特性 弹性伸缩可以帮助您:1. 定时给集群增加机器或减少机器。2. 根据集群服务器的负载情况自适应地增加机器或减少机器。3. 通过您设置的弹性伸缩策略,添加的实例会自动注册到负载均衡中,实现全自动扩容。注意弹性伸缩能力免费,扩容的 …

    2023年12月9日
  • 腾讯云对象存储查询文件处理队列

    功能描述 本接口用于查询文件处理队列。 授权说明 授权策略中 action 设置为 ci:DescribeFileProcessQueues 。查看所有 action。 服务开通 使用该功能需提前开通数据万象,并绑定存储桶。详情请参见 绑定存储桶。 使用限制 使用该接口时,请先确认相关限制条件。详情请参见 使用限制。 请求 请求示例 GET /file_q…

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云ECS云服务器通用流程-云淘科技

    以云服务器ECS Java SDK查询可用镜像资源的方法DescribeImages为例,介绍编写ECS Java SDK的通用流程。 前提条件 您已经创建了AccessKey。具体操作,请参见创建AccessKey。 说明 为避免主账号泄露AccessKey带来的安全风险,建议您创建RAM用户,授予RAM用户云服务器ECS相关的访问权限,再使用RAM用户的…

    阿里云服务器 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。