EXHook实现消息解析后,平台做数据桥接时不支持解析后的数据桥接

说明:
1、emqx5.3中
2、报送数据为hex报文
3、配置了 ExHook,在钩子服务中完成onMessagePublish钩子注册
4、在onMessagePublish完成hex消息的解码,并将解码后消息放到message中返回
5、订阅对应主题,发布消息为hex,接收到的为解析后的消息报文
6、配置数据桥接服务,将消息桥接到其他服务,桥接的消息内容为发布的hex报文

需求:
希望能支持配置,可选择桥接的主题报文内容是发布时的消息还是经过exhook解析后的消息。

你好,感谢使用 ExHook。

原因是由于自 5.0 起,ExHook 的执行顺序固定低于规则引擎/数据桥接的。如果需要达成你这里的效果需要把优先级提高,但 emqx 5 是还不支持的…只能通过改代码然后重新编译

https://github.com/emqx/emqx/blob/541081e10e2bb39b4336a33eac0b60c844e9fea9/apps/emqx/include/emqx_hooks.hrl#L38

关于此类问题,我们也在讨论这个 EIP https://github.com/emqx/eip/pull/81 来解决这类问题