如何对同一个主题的数据进行过滤

环境信息

  • EMQX 版本:4.4.4
  • 操作系统及版本:windows 10
  • 其他

问题描述

应用场景描述:
有若干设备,设备已做账号认证,即每台设备都有自己的账号和密码连接EMQ。
所有设备的数据上报都是使用的home/data主题,在payload中通过deviceid区分是哪个设备。

问题:
使用某一设备账号订阅home/data主题后,可以看到其他设备向该主题上报的数据。请问,有没有什么方法或者机制,可以进行限制或者数据过滤。即每个设备只能看到自己发布的数据。

配置文件及日志

可以主题配置为/:deviceId/home/data,单个设备直接订阅,全局使用/+/home/data订阅

home/data主题第三方制定的,由于遗留原因没办法修改名称。
在不修改的情况下,没有办法通过配置文件,规则引擎,或者钩子,间接实现这个功能吗?

请指教,谢谢!!!

1 主题重写
2 规则引擎,消息重新发布

windows的开源4.4.4 不支持么?没有模块的配置界面。


规则引擎的实现思路是什么样的,开源版本能操作吗?

开源支持的,看下这个文档

消息重发布,原来的主题消息仍然会被投递到订阅主题的客户端,有没有办法根据消息内容过滤订阅者,指定一部分订阅者投递消息?

问题后来解决了吗,朋友 :slightly_smiling_face: