如何解决我们可以将自定义消息属性发布设置为通过mqtt桥发布到pubsub吗
我正在使用MQTT从Google IoT Core发送消息和向Google IoT Core接收消息(遥测消息)。 然后将邮件转发到其他发布/订阅主题。
我想在邮件中添加自定义属性。
目标是在我的主题上使用“不同”订阅。然后,通过我的自定义属性筛选传入的消息,最后在数据流管道上通过“主题”获取我的消息。
我知道我们可以使用Pub / Sub客户端来做到这一点,但是我无法通过mqtt客户端来做到这一点。
我正在使用python客户端。
因此,根据要求,我添加了一些详细信息。这是一个非常经典的情况。 我正在使用MQTT客户端,如此处的Google示例:https://cloud.google.com/iot/docs/how-tos/mqtt-bridge#configuring_mqtt_clients。然后使用同一文档中的发布代码:https://cloud.google.com/iot/docs/how-tos/mqtt-bridge#publishing_telemetry_events(我刚刚替换了
for i in range(0,60):
time.sleep(1)
client.loop()
由 time.sleep(1)
发来,因为我不想在每条消息之间等待一分钟。
我发布这样的消息,调用先前的代码,如下所示:publisher.publish(topic,payload)
主题是我的PubSub主题,有效负载是我的数据。
文档说:
转发的消息数据字段包含设备发布的消息的副本,并且以下消息属性被添加到Cloud Pub / Sub主题中的每条消息
(如果要查看属性,请链接:https://cloud.google.com/iot/docs/how-tos/mqtt-bridge#publishing_telemetry_events) 我想做的是向此列表添加自定义属性。 如果我直接致电发布/订阅客户端,则可以执行此操作(来自文档):
# Add two attributes,origin and username,to the message
future = publisher.publish(
topic_path,data,origin="python-sample",username="gcp"
)
其中origin和username是自定义属性,是否可以使用MQTT客户端来实现?
谢谢:)
解决方法
因此不可能。 Google的建议是使用主题子目录按主题对消息进行“分组”。
您可以将主题关联到注册表,然后为主题设置子文件夹。只要遵循该约定,您就可以拥有任意数量的子目录:
topic:主题名称
子主题:topic_name / theme1,topic_name / theme2...。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。