如何向 Google Cloud MQTT 主题发布消息?
How to publish message to Google Cloud MQTT topic?
使用 Google Cloud Functions 和 Python,我想向 MQTT 主题发布消息。
我使用 pubsub_v1 PublisherClient,在调用云函数并查看日志后,它看起来像 "google.api_core.exceptions.InvalidArgument: 400 Invalid resource name given"。我知道这是因为我的 topic_name 包含“/”,因为我想使用更多 levels/subtopics,像这样:"devices/raspberrypi/events/msg/device/3/status"。我创建了 "msg" 个主题,但无法创建或发布到任何子主题。
我没有在官方文档或其他任何地方找到任何关于子主题的信息。提前致谢。
Cloud Pub/Sub 客户端库仅用于直接与 Google Cloud Pub/Sub 交互。如果您正在使用 MQTT 主题,听起来您正在尝试使用 Cloud IoT Core MQTT 网桥。在这种情况下,您需要使用 MQTT 客户端,该客户端配置为使用 Cloud IoT Core 对设备进行身份验证并使用它来发布遥测事件。见Cloud IoT guide to publishing。
事件的子主题应该有自己的关联主题,但无法通过 Cloud Pub/Sub 库使用子主题名称访问它们。要使用 Cloud Pub/Sub 库,您必须使用 Cloud Pub/Sub 主题的名称。该主题将是您在 "Additional topic" 部分的 Cloud Console 中与 MQTT 子主题关联的主题:
使用 Google Cloud Functions 和 Python,我想向 MQTT 主题发布消息。
我使用 pubsub_v1 PublisherClient,在调用云函数并查看日志后,它看起来像 "google.api_core.exceptions.InvalidArgument: 400 Invalid resource name given"。我知道这是因为我的 topic_name 包含“/”,因为我想使用更多 levels/subtopics,像这样:"devices/raspberrypi/events/msg/device/3/status"。我创建了 "msg" 个主题,但无法创建或发布到任何子主题。
我没有在官方文档或其他任何地方找到任何关于子主题的信息。提前致谢。
Cloud Pub/Sub 客户端库仅用于直接与 Google Cloud Pub/Sub 交互。如果您正在使用 MQTT 主题,听起来您正在尝试使用 Cloud IoT Core MQTT 网桥。在这种情况下,您需要使用 MQTT 客户端,该客户端配置为使用 Cloud IoT Core 对设备进行身份验证并使用它来发布遥测事件。见Cloud IoT guide to publishing。
事件的子主题应该有自己的关联主题,但无法通过 Cloud Pub/Sub 库使用子主题名称访问它们。要使用 Cloud Pub/Sub 库,您必须使用 Cloud Pub/Sub 主题的名称。该主题将是您在 "Additional topic" 部分的 Cloud Console 中与 MQTT 子主题关联的主题: