一、功能概述
注意:一个 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的时间间隔依次进行三次,若三次重试均失败则将消息保存在离线消息队列。