本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在客户端设备和之间中继 MQTT 消息Amazon IoT Core
您可以在客户端设备之间中继 MQTT 消息和其他数据Amazon IoT Core. 客户端设备连接到在核心设备上运行的MQTT broker组件。默认情况下,核心设备不会在客户端设备之间中继 MQTT 消息或数据Amazon IoT Core. 默认情况下,客户端设备只能通过 MQTT 相互通信。
在客户端设备和之间中继 MQTT 消息Amazon IoT Core,配置MQTT 桥组件执行以下操作:
-
将消息从客户端设备中继到Amazon IoT Core.
-
中继来自的消息Amazon IoT Core到客户端设备。
MQTT 网桥使用 QoS 1 发布和订阅Amazon IoT Core,即使客户端设备使用 QoS 0 发布和订阅本地 MQTT 代理。因此,当您将 MQTT 消息从本地 MQTT 代理上的客户端设备中继到Amazon IoT Core. 有关在核心设备上配置 MQTT 的更多信息,请参阅配置 MQTT 超时和缓存设置.
配置和部署 MQTT 桥组件
MQTT 桥组件使用一个主题映射列表,每个主题映射都指定消息源和消息目标。在客户端设备和之间中继消息Amazon IoT Core,部署 MQTT 桥组件,并在组件配置中指定每个源和目标主题。
要将 MQTT 桥组件部署到核心设备或核心设备组,创建部署这包括aws.greengrass.clientdevices.mqtt.Bridge
组件。指定主题映射,mqttTopicMapping
,位于部署的 MQTT 桥组件配置中。
以下示例定义了一个部署,该部署将 MQTT bridge 组件配置为中继与之匹配的主题的消息clients/+/hello/world
主题筛选器从客户端设备到Amazon IoT Core. 这些区域有:merge
配置更新需要序列化的 JSON 对象。有关更多信息,请参阅 更新组件配置。
中继 MQTT 消息
在客户端设备和之间中继 MQTT 消息Amazon IoT Core、配置和部署 MQTT 桥组件并指定要中继的主题。
例如:将有关某个主题的消息从客户端设备中继到Amazon IoT Core
以下 MQTT bridge 组件配置指定了与之匹配的主题的中继消息clients/+/hello/world/event
主题筛选器从客户端设备到Amazon IoT Core.
{ "mqttTopicMapping": { "HelloWorldEvent": { "topic": "clients/+/hello/world/event", "source": "LocalMqtt", "target": "IotCore" } } }
例如:转发来自的话题的消息Amazon IoT Core到客户端设备
以下 MQTT bridge 组件配置指定了与之匹配的主题的中继消息clients/+/hello/world/event/response
主题筛选来自的条件Amazon IoT Core到客户端设备。
{ "mqttTopicMapping": { "HelloWorldEventConfirmation": { "topic": "clients/+/hello/world/event/response", "source": "IotCore", "target": "LocalMqtt" } } }