物联网开发平台 数据转发到另一 Topic

将通过规则提取出来的消息字段转发给另外一个服务时,即可实现 Topic 间通信。

相关产品
物联网开发平台 产品页,含版本规格、价格与购买入口。

一、功能概述

注意:一个 Topic 可接收的最大消息条数是:20条/秒。

二、前提条件

·已有可使用的实例,可参见 实例管理。

·已创建规则,具体操作可参见 创建规则。

三、配置步骤

1. 登录 物联网开发平台控制台,单击目标实例,选择左侧菜单栏数据流转 > 规则引擎。

2. 单击需要配置的规则名称,在规则详情页面,单击添加行为操作。

3. 在弹出的“添加规则”窗口,填写相关信息。

·选择行为类型为“数据转发到另一个Topic(Republish)”。

·选择相应项目、产品及设备。

·选择要转发到的另一个 Topic 类型及名称。

4. 单击保存,物联网开发平台即可将设备上报数据发转至该 Topic。

四、配置案例

设备1(这里命名:Test) 收到的物模型数据要转发至设备3(这里命名:Tese3),让设备3也能收到设备1的数据。示例操作如下:

1. 在规则详情页单击筛选数据右侧的编辑,配置规则引擎如下所示。字段推荐填 '*' ,具体字段说明可参考 数据处理 ;然后选择目标设备1进行转发。

2. 在行为操作中添加接收方设备3的配置选项:

3. 保存后重新检查筛选数据的 Topic 和行为操作的 Topic,确保设备数据无误之后转发才能成功。

4. 这里设备1和设备3用 MQTTX 工具来进行模拟上线和订阅,具体操作参考 物模型 Topic 消息通信。

4.1 如图上所示,设备1和设备3的 MQTTX 上线后分别填写对应的 Topic,确保消息发布和接收无误。

·设备属性发布请求 Topic: $thing/up/property/{ProductID}/{DeviceName}

·设备属性订阅响应 Topic: $thing/down/property/{ProductID}/{DeviceName}

4.2 设备1发布物模型消息后(如下示例),查看“code”状态为0表示消息成功,报其他数字可参考 错误码 排查。

{ "method":"report", "clientToken":"123", "params":{ "dianliang":33 }}

4.3 启用规则引擎后,设备3也会收到设备1转发的订阅消息,若未收到需重新检查第2步和第3步。

五、转发消息服务质量等级

消息从源 Topic 转发到其他 Topic 时消息服务质量等级不会变化。

·设备端发布的消息服务质量等级为 QOS0 时,则规则引擎将按照 QOS0 的消息进行转发;发布的消息服务质量等级为 QOS1 时,则按照 QOS1 进行转发。

·转发的消息服务质量等级为0时,若转发失败则消息会被丢弃;转发的消息服务质量等级为1,若消息转发失败则会进行转发重试。重试按照3s,6s,9s的时间间隔依次进行三次,若三次重试均失败则将消息保存在离线消息队列。

赞 (0)
上一篇 4天前
下一篇 4天前