网络
虚拟私有云 VPC
弹性公网IP EIP
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
虚拟专用网络 VPN
云连接 CC
VPC终端节点 VPCEP
企业路由器 ER
企业交换机 ESW
全球加速 GA
企业连接 EC
云原生应用网络 ANC
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
威胁检测服务 MTD
态势感知 SA
认证测试中心 CTC
边缘安全 EdgeSec
应用中间件
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
API网关 APIG
分布式缓存服务 DCS
多活高可用服务 MAS
事件网格 EG
管理与监管
统一身份认证服务 IAM
消息通知服务 SMN
云监控服务 CES
应用运维管理 AOM
应用性能管理 APM
云日志服务 LTS
云审计服务 CTS
标签管理服务 TMS
配置审计 Config
应用身份管理服务 OneAccess
资源访问管理 RAM
组织 Organizations
资源编排服务 RFS
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
解决方案
高性能计算 HPC
SAP
混合云灾备
开天工业工作台 MIW
Haydn解决方案工厂
数字化诊断治理专家服务
云生态
云商店
合作伙伴中心
华为云开发者学堂
华为云慧通差旅
开发与运维
软件开发生产线 CodeArts
需求管理 CodeArts Req
流水线 CodeArts Pipeline
代码检查 CodeArts Check
编译构建 CodeArts Build
部署 CodeArts Deploy
测试计划 CodeArts TestPlan
制品仓库 CodeArts Artifact
移动应用测试 MobileAPPTest
CodeArts IDE Online
开源镜像站 Mirrors
性能测试 CodeArts PerfTest
应用管理与运维平台 ServiceStage
云应用引擎 CAE
开源治理服务 CodeArts Governance
华为云Astro轻应用
CodeArts IDE
Astro工作流 AstroFlow
代码托管 CodeArts Repo
漏洞管理服务 CodeArts Inspector
联接 CodeArtsLink
软件建模 CodeArts Modeling
Astro企业应用 AstroPro
CodeArts 盘古助手
华为云Astro大屏应用
计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
云手机服务器 CPH
专属主机 DeH
弹性伸缩 AS
镜像服务 IMS
函数工作流 FunctionGraph
云耀云服务器(旧版)
VR云渲游平台 CVR
Huawei Cloud EulerOS
网络
虚拟私有云 VPC
弹性公网IP EIP
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
虚拟专用网络 VPN
云连接 CC
VPC终端节点 VPCEP
企业路由器 ER
企业交换机 ESW
全球加速 GA
企业连接 EC
云原生应用网络 ANC
CDN与智能边缘
内容分发网络 CDN
智能边缘云 IEC
智能边缘平台 IEF
CloudPond云服务
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
威胁检测服务 MTD
态势感知 SA
认证测试中心 CTC
边缘安全 EdgeSec
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
可信智能计算服务 TICS
推荐系统 RES
云搜索服务 CSS
数据可视化 DLV
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
数据治理中心 DataArts Studio
湖仓构建 LakeFormation
智能数据洞察 DataArts Insight
应用中间件
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
API网关 APIG
分布式缓存服务 DCS
多活高可用服务 MAS
事件网格 EG
开天aPaaS
应用平台 AppStage
开天企业工作台 MSSE
开天集成工作台 MSSI
API中心 API Hub
云消息服务 KooMessage
交换数据空间 EDS
云地图服务 KooMap
云手机服务 KooPhone
组织成员账号 OrgID
云空间服务 KooDrive
管理与监管
统一身份认证服务 IAM
消息通知服务 SMN
云监控服务 CES
应用运维管理 AOM
应用性能管理 APM
云日志服务 LTS
云审计服务 CTS
标签管理服务 TMS
配置审计 Config
应用身份管理服务 OneAccess
资源访问管理 RAM
组织 Organizations
资源编排服务 RFS
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
区块链
区块链服务 BCS
数字资产链 DAC
华为云区块链引擎服务 HBS
解决方案
高性能计算 HPC
SAP
混合云灾备
开天工业工作台 MIW
Haydn解决方案工厂
数字化诊断治理专家服务
价格
成本优化最佳实践
专属云商业逻辑
云生态
云商店
合作伙伴中心
华为云开发者学堂
华为云慧通差旅
其他
管理控制台
消息中心
产品价格详情
系统权限
客户关联华为云合作伙伴须知
公共问题
宽限期保留期
奖励推广计划
活动
云服务信任体系能力说明
开发与运维
软件开发生产线 CodeArts
需求管理 CodeArts Req
流水线 CodeArts Pipeline
代码检查 CodeArts Check
编译构建 CodeArts Build
部署 CodeArts Deploy
测试计划 CodeArts TestPlan
制品仓库 CodeArts Artifact
移动应用测试 MobileAPPTest
CodeArts IDE Online
开源镜像站 Mirrors
性能测试 CodeArts PerfTest
应用管理与运维平台 ServiceStage
云应用引擎 CAE
开源治理服务 CodeArts Governance
华为云Astro轻应用
CodeArts IDE
Astro工作流 AstroFlow
代码托管 CodeArts Repo
漏洞管理服务 CodeArts Inspector
联接 CodeArtsLink
软件建模 CodeArts Modeling
Astro企业应用 AstroPro
CodeArts 盘古助手
华为云Astro大屏应用
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
存储容灾服务 SDRS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
云存储网关 CSG
专属分布式存储服务 DSS
数据工坊 DWR
地图数据 MapDS
键值存储服务 KVS
容器
云容器引擎 CCE
云容器实例 CCI
容器镜像服务 SWR
云原生服务中心 OSC
应用服务网格 ASM
华为云UCS
数据库
云数据库 RDS
数据复制服务 DRS
文档数据库服务 DDS
分布式数据库中间件 DDM
云数据库 GaussDB
云数据库 GeminiDB
数据管理服务 DAS
数据库和应用迁移 UGO
云数据库 TaurusDB
人工智能
AI开发平台ModelArts
华为HiLens
图引擎服务 GES
图像识别 Image
文字识别 OCR
自然语言处理 NLP
内容审核 Moderation
图像搜索 ImageSearch
医疗智能体 EIHealth
企业级AI应用开发专业套件 ModelArts Pro
人脸识别服务 FRS
对话机器人服务 CBS
语音交互服务 SIS
人证核身服务 IVS
视频智能分析服务 VIAS
城市智能体
自动驾驶云服务 Octopus
盘古大模型 PanguLargeModels
IoT物联网
设备接入 IoTDA
全球SIM联接 GSL
IoT数据分析 IoTA
路网数字化服务 DRIS
IoT边缘 IoTEdge
设备发放 IoTDP
企业应用
域名注册服务 Domains
云解析服务 DNS
企业门户 EWP
ICP备案
商标注册
华为云WeLink
华为云会议 Meeting
隐私保护通话 PrivateNumber
语音通话 VoiceCall
消息&短信 MSGSMS
云管理网络
SD-WAN 云服务
边缘数据中心管理 EDCM
云桌面 Workspace
应用与数据集成平台 ROMA Connect
ROMA资产中心 ROMA Exchange
API全生命周期管理 ROMA API
政企自服务管理 ESM
视频
实时音视频 SparkRTC
视频直播 Live
视频点播 VOD
媒体处理 MPC
视频接入服务 VIS
数字内容生产线 MetaStudio
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MGC
专属云
专属计算集群 DCC
开发者工具
SDK开发指南
API签名指南
DevStar
华为云命令行工具服务 KooCLI
Huawei Cloud Toolkit
CodeArts API
云化转型
云架构中心
云采用框架
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
客户运营能力
国际站常见问题
支持计划
专业服务
合作伙伴支持计划
我的凭证
华为云公共事业服务云平台
工业软件
工业数字模型驱动引擎
硬件开发工具链平台云服务
工业数据转换引擎云服务
更新时间:2025-01-06 GMT+08:00
分享

函数支持的事件源

本节列出了FunctionGraph函数支持的云服务,可以将这些服务配置为FunctionGraph函数的事件源。在预配置事件源映射后,这些事件源检测事件时将自动调用FunctionGraph函数。

消息通知服务SMN

可以编写FunctionGraph函数来处理SMN的通知,在将消息发布到SMN主题时,服务可以通过将消息负载作为参数传递(SMN示例事件)来调用FunctionGraph函数,FunctionGraph函数代码可以处理事件,比如将消息发布到其他SMN主题或将消息发送到其他云服务。SMN消息触发的使用过程请参考使用SMN触发器

API Gateway

可以通过HTTPS调用FunctionGraph函数,使用API Gateway自定义REST API和终端节点来实现。可以将各个API操作(如GET和PUT)映射到特定的FunctionGraph函数,当向该API终端节点发送HTTPS请求时(APIG示例事件),API Gateway会调用相应的FunctionGraph函数。HTTPS调用触发函数的使用过程请参考使用APIG触发器

数据接入服务DIS

可以将FunctionGraph函数配置为自动轮询流并处理任何新记录,例如网站点击流、财务交易记录、社交媒体源、IT日志和位置跟踪事件等(DIS示例事件)。FunctionGraph会定期轮询DIS数据流中的新记录。DIS数据流触发函数的过程请参考使用DIS触发器

定时触发器TIMER

可以使用TIMER的计划事件功能定期调用您的代码,可以指定固定频率(分钟、小时、天数)或指定 cron 表达式定期调用函数(TIMER示例事件)。定时触发器的使用请参考使用定时触发器

日志触发器LTS

可以编写FunctionGraph函数来处理云日志服务订阅的日志,当云日志服务采集到订阅的日志后,可以通过将采集到的日志作为参数传递(LTS示例事件)来调用FunctionGraph函数,FunctionGraph函数代码可以对其进行自定义处理、分析或将其加载到其他系统。LTS日志触发的使用过程请参考使用LTS触发器

云审计服务触发器CTS

可以编写FunctionGraph函数,根据CTS云审计服务类型和操作订阅所需要的事件通知,当CTS云审计服务获取已订阅的操作记录后,通过CTS触发器将采集到的操作记录作为参数传递(CTS示例事件)来调用FunctionGraph函数。经由函数对日志中的关键信息进行分析和处理,对系统、网络等业务模块进行自动修复,或通过短信、邮件等形式产生告警,通知业务人员进行处理。CTS触发器的使用请参考使用CTS触发器

文档数据库服务DDS

使用DDS触发器,每次更新数据库中的表时,都可以触发Functiongraph函数以执行额外的工作。DDS触发器的使用请参考使用DDS触发器

分布式消息服务Kafka版

使用Kafka触发器,当向Kafka实例的Topic生产消息时,FunctionGraph会消费消息,触发函数以执行额外的工作,关于Kafka触发器的使用请参见使用Kafka触发器

云监控服务CES

FunctionGraph函数实现了与云监控服务对接,函数上报云监控服务的监控指标,用户可以通过云监控服务来查看函数产生的监控指标和告警信息。查看监控指标请参考查看监控图表

分布式消息服务RabbitMQ版

使用RabbitMQ触发器,FunctionGraph会定期轮询RabbitMQ实例指定Exchange绑定的队列下的新消息,FunctionGraph将轮询得到的消息作为参数传递来调用函数。

事件网格服务EventGrid

可以编写FunctionGraph函数来处理EventGrid的通知,在将消息发布到EG事件源时,服务可以通过将消息负载作为参数传递(EG示例事件)来调用FunctionGraph函数,FunctionGraph函数代码可以处理事件,比如将消息发送到其他云服务。EG消息触发的使用过程请参考使用EG触发器

设备接入服务IoTDA

使用IoTDA触发器,对于设备上报到平台的数据,FunctionGraph可跟踪设备的设备属性、消息上报,状态变更,分析、整理和计量数据流(IoTDA示例事件)。关于IoTDA触发器的使用请参见使用IoTDA触发器

IoTDA触发器当前仅支持华南-广州、华北-北京四、中国-香港、亚太-曼谷。

示例事件

  • SMN示例事件
    {
        "record": [
            {
                "event_version": "1.0",
                "smn": {
                    "topic_urn": "urn:smn:{region}:0162c0f220284698b77a3d264376343a:{function_name}",
                    "timestamp": "2018-01-09T07:11:40Z",
                    "message_attributes": null,
                    "message": "this is smn message content",
                    "type": "notification",
                    "message_id": "a51671f77d4a479cacb09e2cd591a983",
                    "subject": "this is smn message subject"
                },
                "event_subscription_urn": "urn:fss:{region}:0162c0f220284698b77a3d264376343a:function:default:read-smn-message:latest",
                "event_source": "smn"
            }
    ],
        "functionname": "test",
        "requestId": "7c307f6a-cf68-4e65-8be0-4c77405a1b2c",
        "timestamp": "Wed Nov 15 2017 12:00:00 GMT+0800 (CST)"
    }
    表1 参数说明

    参数

    类型

    示例值

    描述

    event_version

    String

    1.0

    事件协议的版本。

    topic_urn

    String

    参考示例

    SMN事件唯一编号

    type

    String

    notification

    事件的类型

    RequestID

    String

    7c307f6a-cf68-4e65-8be0-4c77405a1b2c

    请求ID。每个请求的ID取值唯一。

    message_id

    String

    a51671f77d4a479cacb09e2cd591a983

    消息ID。每条消息的ID取值唯一。

    Message

    String

    this is smn message content

    消息内容

    event_source

    String

    smn

    事件源

    event_subscription_urn

    String

    参考示例

    添加的订阅唯一编号

    timestamp

    String

    Wed Nov 15 2017 12:00:00 GMT+0800 (CST)

    事件发生的时间

  • APIG示例事件
    {
        "body": "{\"test\":\"body\"}",
        "requestContext": {
            "apiId": "bc1dcffd-aa35-474d-897c-d53425a4c08e",
            "requestId": "11cdcdcf33949dc6d722640a13091c77",
            "stage": "RELEASE"
        },
        "queryStringParameters": {
            "responseType": "html"
        },
        "httpMethod": "GET",
    "pathParameters": {
    "path":"value"
    },
        "headers": {
            "accept-language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
            "accept-encoding": "gzip, deflate, br",
            "x-forwarded-port": "443",
            "x-forwarded-for": "103.218.216.98",
            "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
            "upgrade-insecure-requests": "1",
            "host": "50eedf92-c9ad-4ac0-827e-d7c11415d4f1.apigw.region.cloud.com",
            "x-forwarded-proto": "https",
            "pragma": "no-cache",
            "cache-control": "no-cache",
            "x-real-ip": "103.218.216.98",
            "user-agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0"
        },
        "path": "/apig-event-template",
        "isBase64Encoded": true
    }

    约束与限制:

    • 通过APIG服务调用函数服务时,isBase64Encoded的值默认为true,表示APIG传递给FunctionGraph的请求体body已经进行Base64编码,需要先对body内容Base64解码后再处理。
    • 函数必须按以下结构返回字符串。
      {
          "isBase64Encoded": true|false,
          "statusCode": httpStatusCode,
          "headers": {"headerName":"headerValue",...},
          "body": "..."
      }
    表2 参数说明

    参数

    类型

    示例值

    描述

    body

    String

    "{\"test\":\"body\"}"

    记录实际请求转换为String字符串后的内容。

    requestContext

    Map

    参考示例

    请求来源的API网关的配置信息、请求标识、认证信息、来源信息。

    httpMethod

    String

    GET

    记录实际请求的HTTP方法

    queryStringParameters

    Map

    参考示例

    记录在API网关中配置过的Query参数以及实际取值。

    pathParameters

    Map

    参考示例

    记录在API网关中配置过的Path参数以及实际取值。

    headers

    Map

    参考示例

    记录实际请求的完整Header内容

    path

    String

    /apig-event-template

    记录实际请求的完整的Path信息

    isBase64Encoded

    Boolean

    True

    默认为true

  • DIS示例事件
    {
        "ShardID": "shardId-0000000000",
        "Message": {
            "next_partition_cursor": "eyJnZXRJdGVyYXRvclBhcmFtIjp7InN0cmVhbS1uYW1lIjoiZGlzLXN3dGVzdCIsInBhcnRpdGlvbi1pZCI6InNoYXJkSWQtMDAwMDAwMDAwMCIsImN1cnNvci10eXBlIjoiVFJJTV9IT1JJWk9OIiwic3RhcnRpbmctc2VxdWVuY2UtbnVtYmVyIjoiNCJ9LCJnZW5lcmF0ZVRpbWVzdGFtcCI6MTUwOTYwNjM5MjE5MX0",
            "records": [
                {
                    "partition_key": "shardId_0000000000",
                    "data": "d2VsY29tZQ==",
                    "sequence_number": "0"
                },
                {
                    "partition_key": "shardId_0000000000",
                    "data": "dXNpbmc=",
                    "sequence_number": "1"
                },
                {
                    "partition_key": "shardId_0000000000",
                    "data": "RnVuY3Rpb25TdGFnZQ==",
                    "sequence_number": "2"
                },
                {
                    "partition_key": "shardId_0000000000",
                    "data": "c2VydmljZQ==",
                    "sequence_number": "3"
                }
            ],
            "millis_behind_latest": ""
        },
        "Tag": "latest",
        "StreamName": "dis-swtest"
    }
    表3 参数说明

    参数

    类型

    示例值

    描述

    ShardID

    String

    shardId-0000000000

    数据下载分区的ID

    next_partition_cursor

    String

    参考示例

    下一个分区的游标

    Records

    Map

    参考示例

    存储在DIS通道中的数据单元

    partition_key

    String

    参考示例

    分区键

    data

    String

    参考示例

    数据块,由数据生产者添加到数据通道

    sequence_number

    Int

    参考示例

    每个记录的唯一标识符,由DIS服务自动分配

    Tag

    String

    latest

    通道的标签

    StreamName

    String

    dis-swtest

    通道名称

  • TIMER示例事件
    {
        "version": "v1.0",
        "time": "2018-06-01T08:30:00+08:00",
        "trigger_type": "TIMER",
        "trigger_name": "Timer_001",
        "user_event": "User Event"
    }
    表4 参数说明

    参数

    类型

    示例值

    描述

    version

    String

    V1.0

    事件协议的版本

    time

    String

    2018-06-01T08:30:00+08:00

    事件产生的时间

    trigger_type

    String

    TIMER

    触发器的类型

    trigger_name

    String

    Timer_001

    触发器的名字

    user_event

    String

    User Event

    在创建触发器时配置的附加信息

  • LTS示例事件
    {
        "lts": {
            "data": "ICB7CiAgICAibG9ncyI6W3sKICAgICAgICAgIm1lc3NhZ2UiOiIyMDE4LTA4LTA4LzA4OjA4OjA4IFtXUk5dIFt0ZXN0LmdvOjA4XVRoaXMgaXMgYSB0ZXN0IG1lc3NhZ2UuIiwKICAgICAgICAgInRpbWUiOjE1MzAwMDk2NTMwNTksCiAgICAgICAgICJob3N0X25hbWUiOiJlY3MtdGVzdCIsCiAgICAgICAgICJpcCI6IjE5Mi4xNjguMS4xIiwKICAgICAgICAgInBhdGgiOiJ2YXIvbG9nL3Rlc3QubG9nIiwKICAgICAgICAgImxvZ191aWQiOiI2NjNkNjkzMC03OTJkLTExZTgtOGIwOC0yODZlZDQ4OGNlNzAiLAogICAgICAgICAibGluZV9ubyI6MQogICAgIH1dLAogICAgIm93bmVyIjogIjYyODBlMTcwYmQ5MzRmNjBhNGQ4NTFjZjVjYTA1MTI5IiwKICAgICJsb2dfZ3JvdXBfaWQiOiAiOTdhOWQyODQtNDQ0OC0xMWU4LThmYTQtMjg2ZWQ0ODhjZTcwIiwKICAgICJsb2dfdG9waWNfaWQiOiAiMWE5Njc1YTctNzg0ZC0xMWU4LTlmNzAtMjg2ZWQ0ODhjZTcwIgogfQ=="
        }
    }
    表5 Event中涉及的参数解释

    参数

    类型

    示例值

    描述

    data

    Sting

    参考示例

    Base64编码后的数据

  • CTS示例事件
    {
        "cts": {
            "time": "2018/06/26 08:54:07 GMT+08:00",
            "user": {
                "name": "userName",
                "id": "5b726c4fbfd84821ba866bafaaf56aax",
                "domain": {
                    "name": "domainName",
                    "id": "b2b3853af40448fcb9e40dxj89505ba"
                }
            },
            "request": {},
            "response": {},
            "code": 204,
            "service_type": "vpc",
            "resource_type": "VPC",
            "resource_name": "workflow-2be1",
            "resource_id": "urn:fgs:{region}:2d1d891d93054bbaa69b9e866c0971ac:graph:workflow-2be1",
            "trace_name": "deleteGraph",
            "trace_type": "ConsoleAction",
            "record_time": "2018/06/26 08:54:07 GMT+08:00",
            "trace_id": "69be64a7-0233-11e8-82e4-e5d37911193e",
            "trace_status": "normal"
        }
    }
    表6 参数说明

    参数

    类型

    示例值

    描述

    User

    Map

    参考示例

    本次请求的发起用户信息

    Request

    Map

    参考示例

    事件请求内容

    Response

    Map

    参考示例

    事件响应内容

    Code

    Int

    204

    事件响应码,例如200、400

    service_type

    String

    vpc

    发送方的简写,比如vpc,ecs等等

    resource_type

    String

    VPC

    发送方资源类型,比如vm,vpn等等

    resource_name

    String

    workflow-2be1

    资源名称,例如ecs服务中某个虚拟机的名称

    trace_name

    String

    deleteGraph

    事件名称,比如:startServer, shutDown等

    trace_type

    String

    ConsoleAction

    事件发生源头类型,例如ApiCall

    record_time

    string

    2018/06/26 08:54:07 GMT+08:00

    cts服务接受到这条trace的时间

    trace_id

    String

    69be64a7-0233-11e8-82e4-e5d37911193e

    事件的唯一标识符

    trace_status

    String

    normal

    事件的状态

  • DDS示例事件
    {
        "records": [
            {
                "event_source": "dds",
                "event_name": "insert",
                "region": "{region}",
                "event_version": "1.0",
                "dds": {
                    "size_bytes": "100",
                    "token": "{\"_data\": \"825D8C2F4D0000001529295A100474039A3412A64BA89041DC952357FB4446645F696400645D8C2F8E5BECCB6CF5370D6A0004\"}",
                    "full_document": "{\"_id\": {\"$oid\": \"5d8c2f8e5beccb6cf5370d6a\"},\"name\": \"dds\",\"age\": {\"$numberDouble\": \"52.0\"}}",
                    "ns": "{\"db\": \"functiongraph\",\"coll\": \"person\"}"
                },
                "event_source_id": "e6065860-f7b8-4cca-80bd-24ef2a3bb748"
            }
        ]
    }
    表7 参数说明

    参数

    类型

    示例值

    描述

    region

    String

    cn-north-1

    DDS实例所在的地域

    event_version

    String

    1.0

    事件协议的版本

    event_source

    String

    dds

    事件的来源

    event_name

    String

    insert

    事件的名字

    size_bytes

    Int

    100

    消息的字节数

    token

    String

    参考示例

    Base64编码后的数据

    full_document

    String

    参考示例

    完整的文件信息

    ns

    String

    参考示例

    列名

    event_source_id

    e6065860-f7b8-4cca-80bd-24ef2a3bb748

    参考示例

    事件源唯一标识符

  • Kafka示例事件
    {
        "event_version": "v1.0",
        "event_time": 1576737962,
        "trigger_type": "KAFKA",
        "region": "{region}",
        "instance_id": "81335d56-b9fe-4679-ba95-7030949cc76b",
        "records": [
            {
                "messages": [
                    "kafka message1",
                    "kafka message2",
                    "kafka message3",
                    "kafka message4",
                    "kafka message5"
                ],
                "topic_id": "topic-test"
            }
        ]
    }
    表8 参数说明

    参数

    类型

    示例值

    描述

    event_version

    String

    v1.0

    事件协议的版本

    event_time

    String

    2018-01-09T07:50:50.028Z

    事件发生的时间

    trigger_type

    String

    KAFKA

    事件类型

    region

    String

    cn-north-1

    Kafka实例所在的地域

    instance_id

    String

    81335d56-b9fe-4679-ba95-7030949cc76b

    创建的Kafka实例的唯一标识符。

    messages

    String

    参考示例

    消息内容

    topic_id

    String

    topic-test

    消息的唯一标识符

  • GeminiDB示例事件
    {
        "records": [
            {
                "event_name": "\"insert\"",
                "event_version": "1.0",
                "event_source": "gemini_mongo",
                "region": "{region}",
                "gemini_mongo": {
                    "full_document": "{\"_id\": {\"$oid\":\"5f61de944778db5fcded3f87\"},\"zhangsan\": \"zhangsan\"}",
                    "ns": "{\"db\": \"zhangsan\",\"coll\": \"zhangsan\"}",
                    "size_bytes": "100",
                    "token": "{\"_data\": \"825F61DE940000000129295A1004A2D9AE61206C43A5AF47CAF7C5C00C5946645F696400645F61DE944778DB5FCDED3F870004\"}"
                },
                "event_source_id": "51153d19-2b7d-402c-9a79-757163258a36"
            }
        ],
        "vernier": "{\"_data\": \"825F61DE940000000129295A1004A2D9AE61206C43A5AF47CAF7C5C00C5946645F696400645F61DE944778DB5FCDED3F870004\"}"
    }
    表9 参数说明

    参数

    类型

    示例值

    描述

    region

    String

    cn-north-1

    GeminiDB实例所在的地域

    event_source

    String

    gemini_mongo

    事件的来源

    event_version

    String

    1.0

    事件协议的版本

    full_document

    String

    参考示例

    完整的文件信息

    size_bytes

    Int

    100

    消息的字节数

    token

    String

    参考示例

    Base64编码后的数据

    vernier

    String

    参考示例

    游标

  • RabbitMQ示例事件
    {
        "event_version": "v1.0",
        "event_time": 1576737962,
        "trigger_type": "RABBITMQ",
        "region": "{region}",
        "records": [
            {
                "messages": [
                    "rabbitmq message1",
                    "rabbitmq message2",
                    "rabbitmq message3",
                    "rabbitmq message4",
                    "rabbitmq message5"
                ],
                "instance_id": "81335d56-b9fe-4679-ba95-7030949cc76b",
                "exchange": "exchange-test"
            }
        ]
    }
    表10 参数说明

    参数

    类型

    示例值

    描述

    event_version

    String

    v1.0

    事件协议的版本

    Region

    String

    cn-north-1

    RabbitMQ实例所在的地域

    instance_id

    String

    81335d56-b9fe-4679-ba95-7030949cc76b

    创建的RabbitMQ实例的唯一标识符。

  • EG示例事件

    RocketMQ自定义事件源

    {
        "datacontenttype": "application/json",
        "data": {
            "context": "yyyyy"
        },
        "subject": "ROCKETMQ:region:domainId/projectId:ROCKETMQ:eventSourceName",
        "specversion": "1.0",
        "id": "016d5bd3-6231-4e9e-86ef-e451a070d598",
        "source": "eventSourceName",
        "time": "2023-04-07T11:51:10Z",
        "type": "ROCKETMQ:CloudTrace:RocketmqCall"
    }
    OBS应用事件源
    {
        "channel_id":"b65779ed-d9d0-4a6c-b312-c767226964cf",
        "description":"",
        "name":"subscription-xeak",
        "sources":[
            {
                "id":null,
                "name":"HC.OBS.DWR",
                "detail":{
                    "bucket":"eventbucket",
                    "objectKeyEncode":true
                },
                "filter":{
                    "source":[
                        {
                            "op":"StringIn",
                            "values":[
                                "HC.OBS.DWR"
                            ]
                        }
                    ],
                    "type":[
                        {
                            "op":"StringIn",
                            "values":[
                                "OBS:DWR:ObjectCreated:PUT",
                                "OBS:DWR:ObjectCreated:POST"
                            ]
                        }
                    ],
                    "subject":{
                        "and":[
                            {
                                "op":"StringStartsWith",
                                "values":[
                                    "/ddd"
                                ]
                            }
                        ]
                    },
                    "data":{
                        "obs":{
                            "bucket":{
                                "name":[
                                    {
                                        "op":"StringIn",
                                        "values":[
                                            "output-your"
                                        ]
                                    }
                                ]
                            }
                        }
                    }
                },
                "provider_type":"OFFICIAL"
            }
        ],
        "targets":[
            {
                "id":null,
                "name":"HC.FunctionGraph",
                "detail":{
                    "urn":"urn:fss:cn-north-7:c53626012ba84727b938ca8bf03108ef:function:A-nodejs-lqz:pylog:latest",
                    "agency_name":"EG_AGENCY"
                },
                "dead_letter_queue":null,
                "provider_type":"OFFICIAL",
                "transform":{
                    "type":"ORIGINAL",
                    "value":""
                }
            }
        ]
    }
    云服务事件源:
    {
        "specversion":"1.0",
        "id":"eaf3b6a6-d525-11ed-a4ca-1baaeb906770",
        "source":"HC.OBS",
        "type":"OBS:CloudTrace:Others",
        "datacontenttype":"application/json",
        "subject":"OBS:cn-north-5:1d60cc02b9814b9e8cab1ff36886cacb/a5b94f2084a14e3eb8273dd224b89d9a:OBJECT",
        "time":"2023-04-07T09:21:53.271Z",
        "data":{
            "code":"200",
            "source_ip":"10.62.9.176",
            "trace_type":"Others",
            "event_type":"data",
            "project_id":"a5b94f2084a14e3eb8273dd224b89d9a",
            "total_time":"138",
            "content_length":"6887848",
            "trace_id":"eaf3b6a6-d525-11ed-a4ca-1baaeb906770",
            "trace_name":"GET.OBJECT",
            "resource_type":"OBJECT",
            "trace_rating":"normal",
            "service_type":"OBS",
            "tracker_name":"obs-eg",
            "time":"1680859313271",
            "resource_name":"fangxin-sdk:SDK/nodejs-sdk.zip",
            "record_time":"1680859313271",
            "request_id":"000001875B05B4AB8411EF94DDE202C0",
            "user":{
                "domain":{
                    "id":"1d60cc02b9814b9e8cab1ff36886cacb",
                    "name":"hwstaff_pub_fcspaasw3"
                },
                "name":"devuser",
                "id":"0d8880584b0090271f7cc00857a7c7b9"
            }
        }
    }

    更多云服务事件源,请参见云服务事件源

    表11 参数说明

    参数

    类型

    示例值

    描述

    datacontenttype

    String

    application/json

    数据类型

    data

    Map

    见示例

    数据

    subject

    String

    见示例

    目标值

    specversion

    String

    1.0

    版本

    id

    String

    见示例

    唯一键值

    source

    String

    eventSourceName

    来源名称

    time

    String

    见示例

    发布订阅时间

    type

    String

    ROCKETMQ:CloudTrace:RocketmqCall

    订阅类型

  • IoTDA示例事件
    {
    	"resource" : "device",
    	"event" : "create",
    	"event_time" : "20240919T011335Z",
    	"event_time_ms" : "2024-09-19T01:13:35.854Z",
    	"request_id" : "75127474-1a26-4578-8847-3128d6101954",
    	"notify_data" : {
    		"body" : {
    			"app_id" : "3d40caf3ddfc4e83815b54b50f13aad7",
    			"app_name" : "DefaultApp_6439vdv2",
    			"device_id" : "66eb7a0ffa8d9c36870c6892_ttytytytytytyt",
    			"node_id" : "ttytytytytytyt",
    			"gateway_id" : "66eb7a0ffa8d9c36870c6892_ttytytytytytyt",
    			"node_type" : "GATEWAY",
    			"auth_info" : {
    				"auth_type" : "SECRET",
    				"secure_access" : false,
    				"timeout" : 0
    			},
    			"product_id" : "66eb7a0ffa8d9c36870c6892",
    			"product_name" : "test",
    			"status" : "INACTIVE",
    			"create_time" : "20240919T011335Z"
    		}
    	}
    }
    表12 参数说明

    参数

    类型

    示例值

    描述

    resource

    string

    device

    数据来源,包括:设备、设置属性、设备消息、设备消息状态、设备状态、产品、设备异步命令状态、运行日志、批量任务。

    event

    string

    create

    触发事件。

    event_time

    string

    20240919T011335Z

    字符串格式的事件触发时间。

    event_time_ms

    string

    2024-09-19T01:13:35.854Z

    datetime格式的事件触发时间。

    request_id

    string

    75127474-1a26-4578-8847-3128d6101954

    请求id。

    notify_data

    object 参见表13

    -

    推送消息。

    表13 NotifyData

    参数

    类型

    示例值

    描述

    body

    object参见表14

    -

    推送消息内容。

    表14 NotifyDataBody

    参数

    类型

    示例值

    描述

    app_id

    string

    3d40caf3ddfc4e83815b54b50f13aad7

    资源空间ID。

    app_name

    string

    DefaultApp_6439vdv2

    资源空间名称。

    device_id

    string

    66eb7a0ffa8d9c36870c6892_ttytytytytytyt

    设备ID,用于唯一标识一个设备。在注册设备时直接指定,或者由物联网平台分配获得。由物联网平台分配时,生成规则为"product_id" + "_" + "node_id"拼接而成。

    最大长度:256

    node_id

    string

    ttytytytytytyt

    设备标识码,通常使用IMEI、MAC地址或Serial No作为nodeId。

    最大长度:64

    gateway_id

    string

    66eb7a0ffa8d9c36870c6892_ttytytytytytyt

    网关ID,用于标识设备所属的父设备,即父设备的设备ID。当设备是直连设备时,gateway_id与设备的device_id一致。当设备是非直连设备时,gateway_id为设备所关联的父设备的device_id。

    node_type

    string

    GATEWAY

    设备节点类型。

    product_id

    string

    66eb7a0ffa8d9c36870c6892

    设备关联的产品ID,用于唯一标识一个产品模型。

    product_name

    string

    test

    设备关联的产品名称。

    status

    string

    INACTIVE

    设备的状态。

    ONLINE:设备在线。

    OFFLINE:设备离线。

    ABNORMAL:设备异常。

    INACTIVE:设备未激活。

    FREEZED:设备冻结。

    create_time

    string

    20240919T011335Z

    在物联网平台注册设备的时间。格式:yyyyMMdd'T'HHmmss'Z',如20151212T121212Z。

    auth_info

    Object参见表15

    -

    设备的接入认证信息。

    表15 AuthInfo

    参数

    类型

    示例值

    描述

    auth_type

    string

    SECRET

    鉴权类型。支持密钥认证接入(SECRET)和证书认证接入(CERTIFICATES)两种方式。使用密钥认证接入方式(SECRET)填写secret字段,使用证书认证接入方式(CERTIFICATES)填写fingerprint字段,不填写auth_type默认为密钥认证接入方式(SECRET)。

    secure_access

    Boolean

    false

    指设备是否通过安全协议方式接入,默认值为true。

    true:通过安全协议方式接入。

    false:通过非安全协议方式接入。

    timeout

    Integer

    0

    设备验证码的有效时间,单位:秒,默认值:0。若设备在有效时间内未接入物联网平台并激活,则平台会删除该设备的注册信息。若设置为“0”,则表示设备验证码不会失效(建议填写为“0”)。注意:只有注册设备接口或者修改设备接口修改timeout时返回该参数。

    最小值:0

    最大值:2147483647

    缺省值:0

    具体的设备相关消息请以IoTDA官网为准,例如设备添加:设备添加通知

相关文档