您可以使用规则引擎,将物联网平台数据转发到消息队列(RocketMQ)中存储。从而实现消息从设备、物联网平台、RocketMQ到应用服务器之间的全链路高可靠传输能力。

前提条件

  • 已确认当前物联网平台实例及所在地域支持将数据转发到消息队列RocketMQ。
    支持的实例支持的地域
    企业版实例:标准型和尊享型
    • 华东2(上海)
    • 华北2(北京)
    • 华南1(深圳)
    • 新加坡
    • 日本(东京)
    公共实例
    • 华东2(上海)
    • 新加坡
    • 日本(东京)
    • 德国(法兰克福)
    • 美国(硅谷、弗吉尼亚)
  • 已创建消息队列(RocketMQ)实例和用于接收数据的Topic。RocketMQ使用方法,请参见RocketMQ快速入门
    重要
    • 目前,RocketMQ实例所在地域必须与当前物联网平台实例所在地域保持一致。存量的跨地域实例下数据流转配置不受影响,仍可继续正常流转数据。
    • 仅支持将数据流转到RocketMQ 4.x或5.x版本实例的Topic中。
  • 已创建数据转发规则和编写处理数据的SQL,请参见设置数据流转规则

使用说明

  • 目前,新版和旧版云产品流转功能均支持将数据流转到消息队列RocketMQ。新版云产品流转使用示例,请参见数据转发到消息队列RocketMQ(新版)
  • 当使用RocketMQ 5.0时,转发的数据目的配置完成后,会自动完成以下配置,实现设备数据通过物联网平台的规则引擎转发到消息队列RocketMQ。
    • 物联网平台占用RocketMQ实例所在虚拟交换机的2个IP地址。
    • 在RocketMQ实例所在的VPC网络下创建托管安全组,安全组名称默认以sg-nsm-开头。

操作步骤

  1. 登录物联网平台控制台
  2. 实例概览页面,选择目标环境,找到对应的实例,单击实例ID或备注名称。
    重要 目前仅开通企业版实例服务的地域下,执行此步骤。其他地域,请跳过此步骤。地域及实例的支持说明,请参见实例概述
    实例概览
  3. 在左侧导航栏,选择消息转发 > 云产品流转
  4. 单击规则对应的查看,进入数据流转规则页面。
    重要 若当前页面为云产品流转新版页面,需先单击右上角返回旧版,再单击目标规则对应的查看
  5. 单击转发数据一栏对应的添加操作
  6. 添加操作对话框中,选择操作为发送数据到消息队列(RocketMQ)中。按照界面提示,设置其他信息,单击确认
    参数说明
    选择操作选择发送数据到消息队列(RocketMQ)中
    地域选择RocketMQ所在地域。
    实例选择RocketMQ实例。

    您可以单击创建实例,跳转到消息队列控制台,创建RocketMQ实例,请参见消息队列文档

    Topic选择用于接收物联网平台数据的RocketMQ Topic。

    您可以单击创建Topic,跳转到消息队列控制台,创建RocketMQ Topic。

    Tag(可选)设置标签。

    设置标签后,所有通过该操作流转到RocketMQ对应Topic里的消息都会携带该标签。您可以在RocketMQ消息消费端,通过标签进行消息过滤。

    标签长度限制为128字节,可以输入常量或变量。变量格式为${key},代表SQL处理后的JSON数据中key对应的value值。

    授权授权物联网平台将数据写入RocketMQ。

    如您还未创建相关角色,单击创建RAM角色,跳转到RAM控制台,创建角色和授权策略,请参见创建RAM角色

  7. 回到云产品流转页,单击规则对应的启动按钮启动规则。
  8. 测试。

    向规则SQL中定义的Topic发布一条消息,然后到RocketMQ控制台,查看是否成功接收到消息。

操作样例

设备消息通过RocketMQ流转到服务器