更新时间:2024-06-11 GMT+08:00

数据转发流程

概述

数据转发功能用于提供IoTDA与其他第三方以及华为云服务的连接通道,从而实现将设备数据平滑流转至消息中间件、存储、数据分析、业务应用。当前物联网平台支持如下转发方式:

表1 数据转发概述

分类

转发目标

说明

操作指导

第三方服务

第三方应用服务(HTTP推送)

将数据转发至客户的HTTP服务器,客户可以在数据转发界面创建流转规则,并指定推送的URL,将订阅的数据源信息推送到指定URL的服务器。

使用HTTP/HTTPS转发

AMQP推送消息队列

客户可以通过数据转发界面,订阅指定的AMQP通道,将订阅的数据源信息推送到指定AMQP通道,用户可通过AMQP的客户端与IoT平台建立链接,接收数据。

使用AMQP转发

MQTT推送消息队列

客户可以通过数据转发界面,订阅指定的MQTT Topic,将订阅的数据源信息推送到指定MQTT Topic,用户可通过Mqtt的客户端与IoT平台建立链接,接收数据。

使用MQTT转发

设备间通信

物联网平台支持基于MQTT协议实现设备间的消息通信,客户可以通过数据转发界面,订阅指定的Topic,平台会将设备上报的消息推送到指定的Topic,其他设备可以通过订阅该Topic来接收不同设备的消息。

设备间通信

数据存储

云数据库 GeminiDB Influx

将数据流转到华为云GeminiDB Influx,兼容InfluxDB生态的云原生时序数据库。提供高性能读写、高压缩率、冷热分层存储以及弹性扩容、监控告警等服务能力,可以实现大并发的时序数据读写,压缩存储和类SQL查询等功能,支持多维聚合计算和数据可视化分析能力。

应用场景:广泛应用于资源监控、业务监控分析、物联网设备实时监控、工业生产监控、生产质量评估和故障回溯等。提供了高吞吐量和并发性,可以通过快速的响应时间来支持大量的连接,非常适合要求苛刻的物联网应用。

规格参考:InfluxDB规格

数据转发至GeminiDB Influx

云数据库 RDS for MySQL

将数据流转到华为云RDS MySQL,相比自建数据库,RDS价格便宜、 即开即用,便捷运维,支持弹性伸缩并具备实例管理、实例监控、备份恢复、日志管理、参数管理等功能,支持单机和主备部署。

应用场景:网站业务、移动应用、游戏业务、电商业务、金融业务以及企业应用等。

规格参考:Mysql性能规格

数据转发至MySQL

对象存储服务 OBS

将数据流转至华为云OBS云服务,OBS为客户提供海量、安全、高可靠、低成本的数据存储能力,使用时无需考虑容量限制,并且提供多种存储类型供选择,满足客户各类业务场景诉求,OBS也支持对接实时计算CS云服务,实时分析数据流,分析结果对接到其他云服务或者第三方应用进行数据可视化等。

应用场景:适用于海量大数据存储分析的场景。

规格参考:OBS存储规格

数据转发至OBS长期存储

通过公网进行数据转发流量限制不超过1M/s,超过后消息会直接丢弃。

操作步骤

  1. 访问设备接入服务,单击“管理控制台 ”进入设备接入控制台。
  2. 选择左侧导航栏的规则 > 数据转发,单击页面左上角的“创建规则”
  3. 设置转发数据,然后单击“创建规则”

    表2 创建规则参数列表

    参数名

    参数说明

    规则名称

    创建的规则名称。

    规则描述

    对该规则的描述。

    数据来源

    • 设备:将操作设备的信息,如设备添加、设备删除、设备更新设置为数据来源。当数据来源选择“设备”时,不支持快速配置。
    • 设备属性:将归属在某个资源空间下的设备上报给平台的属性值设置为数据来源。单击右侧的“快速配置”勾选需要转发的产品、属性、服务等数据。
    • 设备消息:将归属在某个资源空间下的设备上报给平台的消息设置为转发目标。单击右侧的“快速配置”,仅转发指定Topic的数据。选择所属产品,填写Topic名称。您可以使用在产品详情页面自定义的Topic,也可以使用平台预置的Topic
    • 设备消息状态:将设备和平台之间流转的设备消息状态变更设置为转发目标。设备消息状态详见这里。当数据来源选择“设备消息状态”,不支持快速配置。
    • 设备状态:将归属在某个资源空间下的直连或非直连设备状态变更转发至其他服务。单击“快速配置”,您可以转发设备状态为“在线”、“离线”和“异常”的设备信息到其他服务。物联网平台直连设备状态详见这里
    • 批量任务:将批量任务状态的数据设置为数据来源。当数据来源选择“批量任务”时,不支持快速配置。
    • 产品:将操作产品的信息,如产品添加、产品删除、产品更新设置为数据来源。当数据来源选择“产品”时,不支持快速配置。
    • 设备异步命令状态:针对LwM2M/CoAP协议的设备,物联网平台支持下发异步命令给设备。将异步命令的状态变更设置为数据来源。物联网平台设备异步命令状态详见这里。当数据来源选择“设备异步命令状态”时,不支持快速配置。
    • 运行日志:将MQTT设备的业务运行日志设置为数据来源。当数据来源选择“运行日志”时,不支持快速配置。

    触发事件

    选择数据来源后,对应修改触发事件。

    资源空间

    您可以选择单个资源空间或所有资源空间。当选择“所有资源空间”时,不支持快速配置。

  4. 单击“设置转发目标”页签,单击“添加”,设置转发目标。

    根据实际情况,选择数据接入服务DIS分布式消息服务Kafka对象存储服务OBS第三方应用服务(HTTP推送)AMQP推送消息队列函数工作流服务 (FunctionGraph)云日志服务(LTS)云数据库 GeminiDB Influx云数据库MySQL,,第三方应用服务(HTTP推送),AMQP推送消息队列,MQTT推送消息队列,设备。

    表3 设置转发目标参数列表

    转发目标

    参数说明

    数据接入服务(DIS)

    • 区域:选择转发服务的所在区域,若未授权访问此区域的服务,请根据界面提示,配置云服务访问授权。
    • 通道归属:可以选择自有通道或他人授权。
      • 自有通道:选择需要的通道。若没有通道,请前往DIS服务创建通道
      • 他人授权:您也可以使用其他用户授权给您的通道。请前往DIS控制台获取通道ID。

    分布式消息服务(Kafka)

    说明:

    如果选择分布式消息服务,目前只支持转发到Kafka专享版。并且需要开启“kafka自动创建Topic”功能。

    • 区域:选择转发服务的所在区域,若未授权访问此区域的服务,请根据界面提示,配置云服务访问授权。
    • 对接地址:参考连接已开启SASL的Kafka实例获取对接地址。设备接入基础版和标准版实例只支持公网接入专享版Kafka,企业版实例支持私网接入专享版Kafka。
    • 主题:自定义。
    • SASL认证:若开启SASL认认证,则用户名和密码,填写您在购买kafka实例中输入的SASL用户名和密码。
    • Kafka安全协议:开启SASL认证后,Kafka安全协议选择您购买的Kafka实例中支持的安全协议。
    • SASL认证机制:若开启SASL认证后,则SASL认证机制选择您购买的Kafka实例中支持的SASL认证机制。

    对象存储服务(OBS)

    • 区域:选择转发服务的所在区域,若未授权访问此区域的服务,请根据界面提示,配置云服务访问授权。
    • 存储桶:选择需要的桶。若没有,请前往OBS服务创建桶
    • 参数说明:OBS服务中存储通道文件的自定义目录,多级目录可用(/)进行分隔,不可以斜杠(/)开头或结尾,不能包含两个以上相邻的斜杠(/)。

    第三方应用服务(HTTP推送)

    您可以使用HTTP或HTTPS协议进行推送。详细参数填写请参考HTTP/HTTPS服务端订阅

    AMQP推送消息队列

    消息队列:选择需要推送消息的队列。若没有队列,请创建队列。消息队列名限制请参考配置AMQP服务端

    函数工作流服务 (FunctionGraph)

    说明:

    目前仅企业版实例和标准版实例支持转发到函数工作流服务,基础版实例不支持。

    • 函数名称:选择需要调用的函数名称(latest版本)。当前不支持跨区域调用函数。若没有函数,请参考这里创建函数。

    云数据库 GeminiDB Influx

    说明:

    目前仅企业版实例和标准版实例支持转发到GeminiDB Influx,基础版实例不支持。

    • 数据库实例地址:输入GeminiDB Influx实例的连接地址。设备接入企业版实例支持通过内网IP连接GeminiDB Influx,标准版只支持公网连接GeminiDB Influx。详细指导请参考这里
    • 数据库名称:选择需要的数据库。若没有,请前往GeminiDB Influx服务创建数据库
    • 访问账户/访问密码:访问InfluxDB实例的控制台获取GeminiDB Influx的账户和密码。详细请参考这里
    • 表格:输入需要转存的表格(measurement)名称,不存在会自动创建。
    • 转存配置:
      • 转发字段:输入流转数据的属性名。流转数据为json格式,多层级属性名使用“.”分隔,流转数据格式请参考这里
      • 目标存储字段:输入数据库的列名。

    云数据库 MySQL(RDS)

    说明:

    目前仅企业版实例和标准版实例支持转发到云数据库 MySQL(RDS),基础版实例不支持。

    • 数据库实例地址:输入RDS实例的连接地址。设备接入企业版实例支持通过内网IP连接RDS,标准版只支持公网连接RDS。详细指导请参考这里
    • 数据库名称:选择需要的数据库。若没有,请前往RDS服务创建数据库
    • 访问账户/访问密码:访问RDS实例的控制台获取RDS的账户和密码。详细请参考这里
    • SSL:选择是否通过SSL加密方式连接数据库。建议通过SSL方式连接,不通过SSL方式连接可能存在数据传输安全风险。选择通过SSL方式连接时,需要先在数据库实例中设置SSL数据加密
    • 表格:选择需要转存的表格名称。
    • 转存配置:
      • 转发字段:输入流转数据的属性名。流转数据为json格式,多层级属性名使用“.”分隔,流转数据格式请参考这里
      • 目标存储字段:选择数据库的列名。

    MQTT推送消息队列

    推送Topic:选择需要推送消息的Topic。

    设备

    通过MQTT协议实现设备间消息通信,具体参数请参考:设备间消息通信使用说明。

  5. 启动规则。

    完成完整的规则定义后,您可以在“启动规则”页签中,单击右侧开关,启动规则,实现数据转发。

    图1 数据转发-启动规则

  6. 物联网平台提供规则动作转发目标连通性测试功能,具体步骤请参考连通性测试