MQTT 桥 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

MQTT 桥

MQTT 桥组件 (aws.greengrass.clientdevices.mqtt.Bridge)在客户端设备之间中继 MQTT 消息,本地 Greengrass 发布/订阅,以及 Amazon IoT Core 。您可以使用此组件处理来自自定义组件中客户端设备的 MQTT 消息,并将客户端设备与 Amazon Web Services 云 。

注意

客户端设备是连接到 Greengrass 核心设备以发送 MQTT 消息和数据进行处理的本地 IoT 设备。有关更多信息,请参阅 与本地 IoT 设备进行交互

您可以使用此组件在以下消息代理程序之间中继消息:

  • 本地 MQTT — 本地 MQTT 代理处理客户端设备和核心设备之间的消息。

  • 本地发布/订阅 — 本地 Greengrass 消息代理处理核心设备上组件之间的消息。有关如何在 Greengrass 组件中与这些消息进行交互的更多信息,请参阅。发布/订阅本地消息

  • Amazon IoT Core — Amazon IoT Core MQTT 代理处理 IoT 设备和 Amazon Web Services 云 目标。有关如何在 Greengrass 组件中与这些消息进行交互的更多信息,请参阅。发布/订阅 Amazon IoT Core MQTT 消息

    注意

    MQTT 桥接使用 QoS 1 发布和订阅 Amazon IoT Core ,即使客户端设备使用 QoS 0 发布和订阅本地 MQTT 代理也是如此。因此,当您从本地 MQTT 代理上的客户端设备中继 MQTT 消息时,您可能会发现额外的延迟时间 Amazon IoT Core 。有关核心设备上 MQTT 配置的更多信息,请参阅配置 MQTT 超时和缓存设置

Versions

此组件具有以下版本:

  • 2.0.x

Dependencies

部署组件时,Amazon IoT Greengrass还部署其依赖关系的兼容版本。这意味着您必须满足组件及其所有依赖关系的要求才能成功部署组件。本部分列出了对应的依赖项。发布版本以及定义每个依赖关系的组件版本的语义版本约束。您也可以在中查看每一版的组件各个版的中的依赖关系。Amazon IoT Greengrass控制台。在组件详细信息页面上,查找依赖项列表。

2.0.x

下表列出了此组件 2.0.x 版本的依赖关系。

依赖关系 兼容版本 依赖关系类型
客户端设备身份验证 >=2.0.0 硬性
MQTT 经纪商(莫凯特) >=2.0.0 硬性

有关组件依赖项的更多信息,请参阅。组件配方参考

Configuration

此组件提供了以下配置参数,您可以在部署组件时自定义这些参数。

mqttTopicMapping

要桥接的主题映射。此组件订阅源主题上的消息,并将收到的消息发布到目标主题。每个主题映射定义主题、源类型和目标类型。

此对象包含以下信息:

topicMappingNameKey

此主题映射的名称。Replace主题映射名称键替换为可帮助您识别此主题映射的名称。

此对象包含以下信息:

topic

要在源代理和目标代理之间桥接的主题。

如果您指定LocalMqtt或者IotCore源代理,您可以使用+#MQTT 主题通配符用于中继与主题筛选器匹配的所有主题的消息。有关更多信息,请参阅 。MQTT 主题中的 Amazon IoT Core 开发人员指南

source

源消息代理。从以下选项中进行选择:

  • LocalMqtt— 客户端设备通信的本地 MQTT 代理。

  • Pubsub— 本地 Greengrass 发布/订阅消息代理。

  • IotCore— Amazon IoT Core MQTT 消息代理。

    注意

    MQTT 桥接使用 QoS 1 发布和订阅 Amazon IoT Core ,即使客户端设备使用 QoS 0 发布和订阅本地 MQTT 代理也是如此。因此,当您从本地 MQTT 代理上的客户端设备中继 MQTT 消息时,您可能会发现额外的延迟时间 Amazon IoT Core 。有关核心设备上 MQTT 配置的更多信息,请参阅配置 MQTT 超时和缓存设置

sourcetarget必须是不同的。

target

目标消息代理。从以下选项中进行选择:

  • LocalMqtt— 客户端设备通信的本地 MQTT 代理。

  • Pubsub— 本地 Greengrass 发布/订阅消息代理。

  • IotCore— Amazon IoT Core MQTT 消息代理。

    注意

    MQTT 桥接使用 QoS 1 发布和订阅 Amazon IoT Core ,即使客户端设备使用 QoS 0 发布和订阅本地 MQTT 代理也是如此。因此,当您从本地 MQTT 代理上的客户端设备中继 MQTT 消息时,您可能会发现额外的延迟时间 Amazon IoT Core 。有关核心设备上 MQTT 配置的更多信息,请参阅配置 MQTT 超时和缓存设置

sourcetarget必须是不同的。

例 示例:配置 merge 更新

以下示例配置更新指定同步clients/MyClientDevice1/hello/worldclients/MyClientDevice2/hello/world客户端设备和 Amazon IoT Core 。

{ "mqttTopicMapping": { "ClientDevice1Mapping": { "topic": "clients/MyClientDevice1/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDevice2Mapping": { "topic": "clients/MyClientDevice2/hello/world", "source": "LocalMqtt", "target": "IotCore" } } }

Changelog

下表介绍每一版的中的更改。

Version

更改

2.0.1

版 Greengrass 3.0 版。

2.0.0

初始版本。