如何将消息发布到Google Cloud MQTT主题?

时间:2020-05-28 09:30:54

标签: python google-cloud-platform google-cloud-functions google-cloud-pubsub

我将Google Cloud Functions与Python结合使用,希望将消息发布到MQTT主题。

我使用pubsub_v1 PublisherClient,在调用云功能并查看日志后,它看起来像“ google.api_core.exceptions.InvalidArgument:400无效的资源名称”。我知道发生这种情况是因为我的topic_name包含“ /”,因为我想使用更多的级别/子主题,例如:“ devices / raspberrypi / events / msg / device / 3 / status”。我创建了“ msg”主题,但是无法创建或发布到任何子主题。

我没有在官方文档或其他任何地方找到有关子主题的任何信息。预先感谢。

1 个答案:

答案 0 :(得分:0)

Cloud Pub / Sub客户端库仅用于直接与Google Cloud Pub / Sub进行交互。如果您使用的是MQTT主题,听起来好像您正在尝试使用Cloud IoT Core MQTT桥。在这种情况下,您需要使用配置为使用Cloud IoT Core对设备进行身份验证的MQTT客户端,并使用该客户端发布遥测事件。请参见Cloud IoT guide to publishing

事件的子主题应该具有自己的主题,但不能通过Cloud Pub / Sub库使用子主题名称进行访问。要使用Cloud Pub / Sub库,您将必须使用Cloud Pub / Sub主题的名称。该主题将是您与“其他主题”部分的Cloud Console中的MQTT子主题相关联的主题:

subfolder topic

相关问题