来自任意mqtt主题的事件,例如“base/context/限定符/子主题”如何折叠到Hono适配器主题结构中?您是否简单地将事件发布到主题:" event“,并使用消息体设置原始主题的上下文?
发布于 2019-01-17 06:59:41
有几种选择可供选择。
event (或者只发布e以保存每个消息的几个字节),并在消息有效负载中包含所有相关的上下文信息,这样使用者就可以从有效负载中了解消息的用途。
1.2。发布到一个类似于event/${tenant-id}/${device-id}/${custom-path}的主题,其中${tenant-id}是设备所属的租户的标识符,${device-id}是设备的标识符。${custom-path}可以是您选择的任意路径段。MQTT适配器将在一个AMQP消息中转发MQTT消息的有效负载,该消息将其地址属性设置为event/${tenant-id},并将包含名为orig_address的应用程序属性,该属性将包含消息最初发布到的完整主题名称。然后,使用者可以使用这些信息来派生上下文信息,比如消息的目的。有关详细信息,请参阅MQTT适配器用户指南。org.eclipse.hono.adapter.mqtt.AbstractVertxBasedMqttProtocolAdapter基类中可用,您可以从这个基类派生并实现主题映射逻辑。Kura适配器正是以这种方式实现的,并且只包含几行代码。看一看org.eclipse.hono.adapter.kura.KuraProtocolAdapter。发布于 2020-12-01 11:29:44
尝试使用很少的MQTT主题选项,如
但是在所有情况下,AMQP应用程序属性都设置为orig_address -> t,还可以看到messageAnnotations "resource" -> telemetry/my-tenant/org.acme:my-device-1,但是它还没有包含完整的主题
是否有任何选项可以在不实现自定义MQTT适配器的情况下获得完整的MQTT主题路径?使用eclipse/hono-adapter-mqtt-vertx:1.4.0
https://stackoverflow.com/questions/54205735
复制相似问题