消息重新发布相关内容咨询

目前有一个功能,当收到MQTT消息的时候,想要调整部分消息的内容,然后发送到新的主题,通过规则可以实现吗?
收到的原始消息如下:

#Topic: dev/12345153/report
{
          "timestamp":  1693536965625,
          "messageId":  "4eab53f9000000000000018a4eab53f9",
          "deviceId":  "12345153",
          "properties":  {
                    "alcohol":  1.01,
                    "co2":  2.12,
                    "ac_time":  "2023-09-01 11:48:04"
          }
}

我希望改变其中的设备号,进行重新发送:
主要变动的地方:

  1. 主题变了,需要细化主题;
  2. Payload 中的 deviceId 的值变了,加了一个前缀 Dxxxx
#Topic: dev/comid/D12345153/report
{
          "timestamp":  1693536965625,
          "messageId":  "4eab53f9000000000000018a4eab53f9",
          "deviceId":  "D12345153",
          "properties":  {
                    "alcohol":  1.01,
                    "co2":  2.12,
                    "ac_time":  "2023-09-01 11:48:04"
          }
}

这种有办法实现吗?通过规则引擎或者数据桥接?还是只能通过写程序去调整?

建议先看下规则引擎的文档,你这里的需求都可以通过规则引擎完成。
先修改 payload 内容,然后使用重发布动作即可