ExHook 暂不支持
https://github.com/emqx/emqx/blob/v5.3.2/apps/emqx_exhook/priv/protos/exhook.proto#L244-L251
用 erlang plugin 是支持的。
没有写过erlang plugin,也不会erlang语言,想达到这个功能还有没有更简单的方式
达到这个功能指 “创建新的消息”?
能详细描述下场景和功能需求么?
订阅者接收消息的时候,拿到发布者的 username?
这个可以通过主题设计来实现的
发布者发布的消息为 sennor/${usernam}/report
,每个客户端在发布消息时用自己的 username 替换 ${usernam} 进行发布。例如username 为 zhang_san
的客户端发布时,发布的主题为 sensor/zhang_san/report
订阅者订阅 sensor/+/report
订阅者直接解析收到消息的主题就能拿到发布者的信息
另外,如果想用 ExHook 实现这个功能,需要在rpc 请求 onMessagePublish
上更作改,返回修改过的消息。而不是 onMessageDelivered
请求。
非常官谢官方,这个方法确实可行