更新时间:2024-10-22 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来接收不同设备的消息。

使用限制:支持标准版、企业版。仅支持消息上报。

设备间通信

数据分析

数据接入服务 DIS

将数据流转到华为云DIS云服务。目前DIS支持数据转存储至对象存储服务 OBSMapReduce服务 MRS数据湖探索 DLI数据仓库服务 DWS、表格存储服务 CloudTable。具体DIS支持的转存储任务已实际购买的实例为准。

应用场景:数据接入服务主要解决云服务外的数据实时传输到云服务内的问题。

规格参考:通道规格理论1个分区1M/秒接入,2M/秒读取。

使用限制:支持基础版、标准版、企业版。

数据转发至DIS

分布式消息服务Kafka版

将数据流转到华为云DMS Kafka云服务,适用于构建实时数据管道、流式数据处理、第三方解耦、流量削峰去谷等场景,具有大规模、高可靠、高并发访问、可扩展且完全托管的特点。

应用场景:在日志收集、流式数据传输、在线/离线系统分析、实时监控等领域有广泛的应用。

规格参考:Kafka实例规格

使用限制:支持基础版、标准版、企业版。

数据转发至Kafka存储

应用与数据集成平台ROMAConnect

将数据流转到华为云ROMA Connect,可以实现无缝联接应用、消息、数据、API、设备,帮助企业快速、简单的打通并管理遗留系统与云原生应用,ROMA Connect是一个全栈式的应用与数据集成平台,源自华为数字化转型集成实践,聚焦应用和数据连接,适配多种企业常见的使用场景。

规格参考:ROMA实例规格

使用限制:支持企业版。

-

分布式消息服务RocketMQ版

将数据流转到华为云RocketMQ云服务,兼容开源RocketMQ客户端。提供顺序、延迟、定时、重投、死信、事务消息等功能。提供消息追踪、消息溯源、链路诊断、死信导出、监控告警等能力,帮助您全方面的了解服务状况,保证业务正常运行。

应用场景:适用于电商、金融等多样的业务场景。

规格参考:RocketMQ实例规格

使用限制:支持标准版、企业版。

数据转发至RokcetMQ

云日志服务 LTS

将数据流转到华为云LTS云服务,实现一站式日志采集、秒级搜索、海量存储、结构化处理、转储和可视化图表等功能。

应用场景:适用于应用运维、网络日志可视化分析、等保合规和运营分析等应用场景。

规格参考:日志流规格

使用限制:支持基础版、标准版、企业版。

查看运行日志

函数工作流 FunctionGraph

将数据流转到华为云FunctionGraph云服务,客户只需要在FunctionGraph中编写业务函数代码并设置运行的条件,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。此外,按函数实际执行资源计费,不执行不产生费用。

使用限制:支持标准版、企业版。

数据转发转发至FunctionGraph函数工作流

MapReduce服务 MRS

将数据转发到华为云MRS Kafka云服务,它的Kafka集群是一个分布式的、分区的、多副本的消息发布-订阅系统,它提供了类似于JMS的特性,但在设计上完全不同,它具有消息持久化、高吞吐、分布式、多客户端支持、实时等特性,适用于离线和在线的消息消费,如常规的消息收集、网站活性跟踪、聚合统计系统运营数据(监控数据)、日志收集等大量数据的互联网服务的数据收集场景。

使用限制:支持企业版。

-

区块链服务 BCS

将数据转发到华为云BCS云服务,作为面向企业及开发者提供的区块链技术服务平台,可以帮助客户快速部署、管理、维护区块链网络,降低客户使用区块链的门槛,让客户可以更专注于自身业务的开发与创新,实现业务快速上链。

规格参考:BCS产品规格

使用限制:支持企业版。

数据转发至BCS可信上链

数据存储

云数据库 GeminiDB Influx

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

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

规格参考:InfluxDB规格

使用限制:支持标准版、企业版。

数据转发至GeminiDB Influx

云数据库 RDS for MySQL

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

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

规格参考:Mysql性能规格

使用限制:支持标准版、企业版。

数据转发至MySQL

对象存储服务 OBS

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

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

规格参考:OBS存储规格

使用限制:支持基础版、标准版、企业版。

数据转发至OBS长期存储

文档数据库服务DDS功能

将数据流转至华为云文档数据库服务DDS,DDS完全兼容MongoDB协议,具备安全审计,多账号管理,时间点备份恢复能力,支持集群和副本集部署架构。10倍备份恢复能力,分钟级横向扩容,轻松承载海量数据的高并发写入。

应用场景:游戏业务,物联网业务,电商、考勤系统等有典型高并发场景,对数据库性能要求较高。

规格参考:DDS性能规格

使用限制:支持企业版。

数据转发至MongoDB存储

通过公网进行数据转发流量限制不超过1M/s,超过后消息会直接丢弃。如果要使用更大的流量进行数据转发,推荐使用企业版,企业版支持私网进行数据转发,无此限制。

操作步骤

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

    表2 创建规则参数列表

    参数名

    参数说明

    规则名称

    创建的规则名称。

    规则描述

    对该规则的描述。

    数据来源

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

    触发事件

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

    资源空间

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

    SQL语句

    您需要编辑处理消息数据的SQL,设置数据转发目的地。

    单击“编辑SQL”,编写处理消息字段的SQL。

    SQL编写方法,可参考SQL语句

    说明:
    • 仅标准版实例和企业版实例支持SQL语句编辑,基础版实例不支持。
    • 若使用快速配置,将自动生成查询语句。生成的查询语句将覆盖您之前编辑的SQL语句。
    • 运行日志不支持SQL。

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

    根据实际情况,选择数据接入服务DIS分布式消息服务Kafka对象存储服务OBS应用与数据集成平台ROMA Connect第三方应用服务(HTTP推送)AMQP推送消息队列分布式消息服务RocketMQ函数工作流服务 (FunctionGraph)云日志服务(LTS)云数据库 GeminiDB Influx云数据库MySQLMapReduce服务(MRS)区块链服务 BCS文档数据库服务DDSMQTT推送消息队列设备

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

    转发目标

    参数说明

    数据接入服务(DIS)

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

        确保已在DIS控制台添加上传权限授权策略,详细操作请参考DIS授权管理

    分布式消息服务(Kafka)

    说明:

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

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

    对象存储服务(OBS)

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

    应用与数据集成平台(ROMA Connect)

    说明:

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

    • 对接地址:输入MQS的连接地址。详细指导请参考这里
    • 账户名/密码:访问ROMA实例的控制台获取MQS的用户名与密码。详细请参考这里
    • 主题:自定义。

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

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

    AMQP推送消息队列

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

    分布式消息服务(RocketMQ)

    说明:

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

    • 对接地址:RocketMQ实例需开启公网访问。访问RocketMQ实例的控制台查看RocketMQ的实例详情,“元数据公网连接地址”即为对接地址。
    • SSL:若RocketMQ实例开启SSL,需要打开该配置,否则关闭。
    • 主题:选择RocketMQ实例“Topic 管理”中的Topic。
    • 账户名/密码:访问RocketMQ实例的控制台通过“用户管理”可以获取账户名和密码。
      说明:
      • 使用RocketMQ实例“用户管理”功能前需开启ACL访问控制,请参考这里
      • 请保证配置的账户名拥有主题的发布权限,请参考这里

    函数工作流服务 (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格式,多层级属性名使用“.”分隔,流转数据格式请参考这里
      • 目标存储字段:选择数据库的列名。

    MapReduce服务(MRS Kafka)

    说明:

    目前仅企业版实例支持转发到MapReduce服务的Kafka集群,且需要是同虚拟私有云(VPC)的MapReduce服务,基础版实例和标准版实例不支持。

    • Kerberos认证:开启需要配置认证凭证
    • 对接地址:输入对接MapReduce服务的Kafka服务连接地址,可以在MapReduce服务的Manager管理页面查看Kafka服务所在节点地址。
    • 主题:自定义。详细请参考这里

    区块链服务(BCS)-华为云区块链

    说明:

    目前仅企业版实例支持转发到区块链服务(BCS),基础版实例和标准版实例不支持。

    • 区域:选择转发服务的所在区域,若未授权访问此区域的服务,请根据界面提示,配置云服务访问授权。
    • 实例:选择数据上链的的BCS华为云区块链实例。若没有,请前往BCS服务创建华为云区块链实例
    • 访问方式:
      • 标准通道:应用访问区块链系统使用EIP方式。
      • 高性能通道:应用访问区块链系统使用VPCEP方式,应用访问区块链流量较大场景时,建议使用VPCEP方式。单击“前往创建终端节点”
        1. 计费方式选择默认按需计费,选择IoTDA企业版所在私有云和子网。
        2. 单击“立即创建”
        3. 确认信息无误后,勾选协议和免责声明,并单击“提交”
        4. 创建成功后,单击刷新,即可选择已创建成功的终端节点。
    • 接入组织:选择上链的身份组织。
    • 背书组织:选择上链背书的组织,需要和合约的背书策略保持一致才能正常上链。详情请参考这里
    • 合约:选择上链所需要调用的合约。合约开发详情请参考这里
    • 合约函数:填写上链需要调用的合约函数。
    • 参数配置:
      • 下标位置:调用合约函数所需参数的下标位置。
      • 属性名:输入流转数据的属性名。流转数据为json格式,多层级属性名使用“.”分隔,流转数据格式请参考这里

    区块链服务(BCS)-Hyperledger Fabric增强版

    说明:

    目前仅企业版实例支持转发到区块链服务(BCS),基础版实例和标准版实例不支持。

    • 区域:选择转发服务的所在区域,若未授权访问此区域的服务,请根据界面提示,配置云服务访问授权。
    • 实例:选择数据上链的BCS Hyperledger Fabric增强版实例。若没有,请前往BCS服务创建Hyperledger Fabric增强版实例
    • 通道:选择数据上链通道。详情请参考这里
    • 接入组织:选择上链的身份组织。
    • 背书组织:选择上链背书的组织,需要和链代码的背书策略保持一致才能正常上链。详情请参考这里
    • 链代码名称:填写上链所需要调用的链代码名称。链代码开发详情请参考这里
    • 链代码函数:填写上链需要调用的链代码函数。
    • 参数配置:
      • 下标位置:调用合约函数所需参数的下标位置。
      • 属性名:输入流转数据的属性名。流转数据为json格式,多层级属性名使用“.”分隔,流转数据格式请参考这里

    MQTT推送消息队列

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

    文档数据库服务DDS

    说明:

    目前仅企业版实例支持转发到文档数据库服务DDS,基础版实例和标准版实例不支持。

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

    设备

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

  5. 启动规则。

    完成完整的规则定义后,您可以单击“启动规则”,实现数据转发。

    图1 数据转发-启动规则

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

相关文档