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

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

MQTT 网桥

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

注意

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

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

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

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

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

    注意

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

版本

此组件有以下版本:

  • 2.3.x

  • 2.2.x

  • 2.1.x

  • 2.0.x

类型

此组件是一个插件组件 (aws.greengrass.plugin)。Greengrass 核心在与核心相同的 Java 虚拟机 (JVM) 中运行此组件。当您在核心设备上更改此组件的版本时,nucleus 会重新启动。

该组件使用与 Greengrass 核相同的日志文件。有关更多信息,请参阅 监控Amazon IoT Greengrass日志

有关更多信息,请参阅 组件类型

操作系统

此组件可以安装在运行以下操作系统的核心设备上:

  • Linux

  • Windows

要求

此组件具有以下要求:

  • 如果您将核心设备的 MQTT 代理组件配置为使用默认端口 8883 以外的端口,则必须使用 MQTT 网桥 v2.1.0 或更高版本。将其配置为在代理运行的端口上进行连接。

  • 支持在 VPC 中运行 MQTT 网桥组件。

依赖项

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

2.3.0

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

依赖关系 兼容版本 依赖关系类型
客户端设备身份验证 >=2.2.0 <2.5.0 硬性
2.2.5 and 2.2.6

下表列出了此组件版本 2.2.5 和 2.2.6 的依赖关系。

依赖关系 兼容版本 依赖关系类型
客户端设备身份验证 >=2.2.0 <2.5.0 硬性
2.2.3 and 2.2.4

下表列出了此组件版本 2.2.3 和 2.2.4 的依赖关系。

依赖关系 兼容版本 依赖关系类型
客户端设备身份验证 >=2.2.0 <2.4.0 硬性
2.2.0 – 2.2.2

下表列出了此组件版本 2.2.0 到 2.2.2 的依赖关系。

依赖关系 兼容版本 依赖关系类型
客户端设备身份验证 >=2.2.0 <2.3.0 硬性
2.1.1

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

依赖关系 兼容版本 依赖关系类型
客户端设备身份验证 >=2.0.0 <2.2.0 硬性
2.0.0 to 2.1.0

下表列出了此组件的 2.0.0 到 2.1.0 版本的依赖关系。

依赖关系 兼容版本 依赖关系类型
客户端设备身份验证 >=2.0.0 <2.1.0 硬性

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

配置

此组件提供以下配置参数,您可以在部署该组件时对其进行自定义。

2.3.0
mqttTopicMapping

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

该对象包含以下信息:

topicMappingNameKey

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

该对象包含以下信息:

topic

用于在源代理和目标代理之间架起桥梁的主题或主题筛选器。

您可以使用+# MQTT 主题通配符来中继与主题过滤器匹配的所有主题的消息。有关更多信息,请参阅《Amazon IoT Core开发人员指南》中的 MQTT 主题

targetTopicPrefix

此组件中继消息时要添加到目标主题的前缀。

source

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

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

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

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

    注意

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

source并且target必须不同。

target

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

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

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

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

    注意

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

source并且target必须不同。

mqtt5 RouteOptions

(可选)提供用于配置主题映射的选项,以便将消息从源主题与目标主题桥接起来。

该对象包含以下信息:

mqtt5 RouteOptionsNameKey

主题映射的路径选项的名称。将 mqtt5 RouteOptionsNameKey 替换为字段中定义的匹配topicMappingName密钥mqttTopicMapping

该对象包含以下信息:

noLocal

(可选)启用后,网桥不会转发有关网桥本身发布的主题的消息。使用它来防止循环,如下所示:

{ "mqtt5RouteOptions": { "toIoTCore": { "noLocal": true } }, "mqttTopicMapping": { "toIoTCore": { "topic": "device", "source": "LocalMqtt", "target": "IotCore" }, "toLocal": { "topic": "device", "source": "IotCore", "target": "LocalMqtt" } } }

noLocal仅支持为的路sourceLocalMqtt

默认值:false

retainAsPublished

(可选)启用后,网桥转发的消息与向该路由的代理发布的消息具有相同的retain标志。

retainAsPublished仅支持为的路sourceLocalMqtt

默认值:false

mqtt

(可选)用于与本地代理通信的 MQTT 协议设置。

version

(可选)网桥用于与本地代理通信的 MQTT 协议版本。必须与在 nucleus 配置中选择的 MQTT 版本相同。

请从以下内容中选择:

  • mqtt3

  • mqtt5

mqttTopicMapping对象的sourcetarget字段设置为时,必须部署 MQTT 代理。LocalMqtt如果选择该mqtt5选项,则必须使用MQTT 5 经纪商 (EMQX)

默认值:mqtt3

ackTimeoutSeconds

(可选)在操作失败之前等待 PUBACK、SUBACK 或 UNSUBACK 数据包的时间间隔。

默认值:60

connAckTimeout女士

(可选)在关闭连接之前等待 CONNACK 数据包的时间间隔。

默认值:20000(20 秒)

pingTimeoutMs

(可选)网桥等待收到来自本地代理的 PINGACK 消息的时间(以毫秒为单位)。如果等待时间超过超时时间,网桥将关闭,然后重新打开 MQTT 连接。此值必须小于keepAliveTimeoutSeconds

默认值:30000(30 秒)

keepAliveTimeout秒

(可选)网桥为保持 MQTT 连接活动而发送的每条 PING 消息之间的间隔时间(以秒为单位)。此值必须大于pingTimeoutMs

默认值:60

maxReconnectDelay女士

(可选)MQTT 重新连接的最大时间(以秒为单位)。

默认值:30000(30 秒)

minReconnectDelay女士

(可选)MQTT 重新连接的最短时间(以秒为单位)。

接收最大值

(可选)网桥可以发送的未确认的 QoS1 数据包的最大数量。

默认值:100

maximumPacketSize

客户端将接受的 MQTT 数据包的最大字节数。

默认:空(无限制)

sessionExpiryInterval

(可选)您可以请求在网桥和本地代理之间持续会话的时间(以秒为单位)。

默认值:4294967295(会话永不过期)

brokerUri

(可选)本地 MQTT 代理的 URI。如果您将 MQTT 代理配置为使用与默认端口 8883 不同的端口,则必须指定此参数。使用以下格式,并将端口替换为 MQTT 代理运行的端口:ssl://localhost:port

默认值:ssl://localhost:8883

startupTimeoutSeconds

(可选)组件启动的最长时间(以秒为单位)。BROKEN如果超过此超时时间,则组件的状态将更改为。

默认值:120

例 示例:配置合并更新

以下示例配置更新指定了以下内容:

  • 将来自客户端设备的消息中继到与Amazon IoT Core主题过滤器匹配clients/+/hello/world的主题。

  • 将来自客户端设备的消息中继到与主题过滤器匹配的clients/+/detections主题的本地发布/订阅,并在目标主题中添加events/input/前缀。生成的目标主题与events/input/clients/+/detections主题筛选条件相匹配。

  • 将来自客户端设备的消息中继到Amazon IoT Core与主题过滤器匹配clients/+/status的主题,并在目标主题中添加$aws/rules/StatusUpdateRule/前缀。此示例使用 B asic Ingest 将这些消息直接中继StatusUpdateRule到名为的Amazon IoT规则以降低成本。

{ "mqttTopicMapping": { "ClientDeviceHelloWorld": { "topic": "clients/+/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDeviceEvents": { "topic": "clients/+/detections", "targetTopicPrefix": "events/input/", "source": "LocalMqtt", "target": "Pubsub" }, "ClientDeviceCloudStatusUpdate": { "topic": "clients/+/status", "targetTopicPrefix": "$aws/rules/StatusUpdateRule/", "source": "LocalMqtt", "target": "IotCore" } } }
例 示例:配置 MQTT 5

以下示例配置更新了以下内容:

  • 允许网桥与本地代理一起使用 MQTT 5 协议。

  • ClientDeviceHelloWorld主题映射配置 MQTT 保留为已发布设置。

{ "mqttTopicMapping": { "ClientDeviceHelloWorld": { "topic": "clients/+/hello/world", "source": "LocalMqtt", "target": "IotCore" } }, "mqtt5RouteOptions": { "ClientDeviceHelloWorld": { "retainAsPublished": true } }, "mqtt": { "version": "mqtt5" } }
2.2.6
mqttTopicMapping

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

该对象包含以下信息:

topicMappingNameKey

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

该对象包含以下信息:

topic

用于在源代理和目标代理之间架起桥梁的主题或主题筛选器。

您可以使用+# MQTT 主题通配符来中继与主题过滤器匹配的所有主题的消息。有关更多信息,请参阅《Amazon IoT Core开发人员指南》中的 MQTT 主题

targetTopicPrefix

此组件中继消息时要添加到目标主题的前缀。

source

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

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

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

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

    注意

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

source并且target必须不同。

target

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

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

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

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

    注意

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

source并且target必须不同。

brokerUri

(可选)本地 MQTT 代理的 URI。如果您将 MQTT 代理配置为使用与默认端口 8883 不同的端口,则必须指定此参数。使用以下格式,并将端口替换为 MQTT 代理运行的端口:ssl://localhost:port

默认值:ssl://localhost:8883

startupTimeoutSeconds

(可选)组件启动的最长时间(以秒为单位)。BROKEN如果超过此超时时间,则组件的状态将更改为。

默认值:120

例 示例:配置合并更新

以下示例配置更新指定了以下内容:

  • 将来自客户端设备的消息中继到与Amazon IoT Core主题过滤器匹配clients/+/hello/world的主题。

  • 将来自客户端设备的消息中继到与主题过滤器匹配的clients/+/detections主题的本地发布/订阅,并在目标主题中添加events/input/前缀。生成的目标主题与events/input/clients/+/detections主题筛选条件相匹配。

  • 将来自客户端设备的消息中继到Amazon IoT Core与主题过滤器匹配clients/+/status的主题,并在目标主题中添加$aws/rules/StatusUpdateRule/前缀。此示例使用 B asic Ingest 将这些消息直接中继StatusUpdateRule到名为的Amazon IoT规则以降低成本。

{ "mqttTopicMapping": { "ClientDeviceHelloWorld": { "topic": "clients/+/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDeviceEvents": { "topic": "clients/+/detections", "targetTopicPrefix": "events/input/", "source": "LocalMqtt", "target": "Pubsub" }, "ClientDeviceCloudStatusUpdate": { "topic": "clients/+/status", "targetTopicPrefix": "$aws/rules/StatusUpdateRule/", "source": "LocalMqtt", "target": "IotCore" } } }
2.2.0 - 2.2.5
mqttTopicMapping

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

该对象包含以下信息:

topicMappingNameKey

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

该对象包含以下信息:

topic

用于在源代理和目标代理之间架起桥梁的主题或主题筛选器。

您可以使用+# MQTT 主题通配符来中继与主题过滤器匹配的所有主题的消息。有关更多信息,请参阅《Amazon IoT Core开发人员指南》中的 MQTT 主题

targetTopicPrefix

此组件中继消息时要添加到目标主题的前缀。

source

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

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

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

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

    注意

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

source并且target必须不同。

target

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

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

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

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

    注意

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

source并且target必须不同。

brokerUri

(可选)本地 MQTT 代理的 URI。如果您将 MQTT 代理配置为使用与默认端口 8883 不同的端口,则必须指定此参数。使用以下格式,并将端口替换为 MQTT 代理运行的端口:ssl://localhost:port

默认值:ssl://localhost:8883

例 示例:配置合并更新

以下示例配置更新指定了以下内容:

  • 将来自客户端设备的消息中继到与Amazon IoT Core主题过滤器匹配clients/+/hello/world的主题。

  • 将来自客户端设备的消息中继到与主题过滤器匹配的clients/+/detections主题的本地发布/订阅,并在目标主题中添加events/input/前缀。生成的目标主题与events/input/clients/+/detections主题筛选条件相匹配。

  • 将来自客户端设备的消息中继到Amazon IoT Core与主题过滤器匹配clients/+/status的主题,并在目标主题中添加$aws/rules/StatusUpdateRule/前缀。此示例使用 B asic Ingest 将这些消息直接中继StatusUpdateRule到名为的Amazon IoT规则以降低成本。

{ "mqttTopicMapping": { "ClientDeviceHelloWorld": { "topic": "clients/+/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDeviceEvents": { "topic": "clients/+/detections", "targetTopicPrefix": "events/input/", "source": "LocalMqtt", "target": "Pubsub" }, "ClientDeviceCloudStatusUpdate": { "topic": "clients/+/status", "targetTopicPrefix": "$aws/rules/StatusUpdateRule/", "source": "LocalMqtt", "target": "IotCore" } } }
2.1.x
mqttTopicMapping

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

该对象包含以下信息:

topicMappingNameKey

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

该对象包含以下信息:

topic

用于在源代理和目标代理之间架起桥梁的主题或主题筛选器。

如果您指定LocalMqttIotCore源代理,则可以使用+# MQTT 主题通配符来中继与主题筛选条件匹配的所有主题的消息。有关更多信息,请参阅《Amazon IoT Core开发人员指南》中的 MQTT 主题

source

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

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

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

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

    注意

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

source并且target必须不同。

target

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

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

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

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

    注意

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

source并且target必须不同。

brokerUri

(可选)本地 MQTT 代理的 URI。如果您将 MQTT 代理配置为使用与默认端口 8883 不同的端口,则必须指定此参数。使用以下格式,并将端口替换为 MQTT 代理运行的端口:ssl://localhost:port

默认值:ssl://localhost:8883

例 示例:配置合并更新

以下示例配置更新指定将来自客户端设备的消息中继到clients/MyClientDevice1/hello/worldclients/MyClientDevice2/hello/world主题Amazon IoT Core上。

{ "mqttTopicMapping": { "ClientDevice1HelloWorld": { "topic": "clients/MyClientDevice1/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDevice2HelloWorld": { "topic": "clients/MyClientDevice2/hello/world", "source": "LocalMqtt", "target": "IotCore" } } }
2.0.x
mqttTopicMapping

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

该对象包含以下信息:

topicMappingNameKey

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

该对象包含以下信息:

topic

用于在源代理和目标代理之间架起桥梁的主题或主题筛选器。

如果您指定LocalMqttIotCore源代理,则可以使用+# MQTT 主题通配符来中继与主题筛选条件匹配的所有主题的消息。有关更多信息,请参阅《Amazon IoT Core开发人员指南》中的 MQTT 主题

source

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

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

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

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

    注意

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

source并且target必须不同。

target

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

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

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

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

    注意

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

source并且target必须不同。

例 示例:配置合并更新

以下示例配置更新指定将来自客户端设备的消息中继到clients/MyClientDevice1/hello/worldclients/MyClientDevice2/hello/world主题Amazon IoT Core上。

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

本地日志文件

该组件使用与 Greengrass nucleus 组件相同的日志文件。

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
查看此组件的日志
  • 在核心设备上运行以下命令以实时查看此组件的日志文件。将/greengrass/v2C:\greengrass\v2 替换为Amazon IoT Greengrass根文件夹的路径。

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

更改日志

下表描述了该组件的每个版本中的更改。

版本

更改

2.3.1
错误修复和改进

修复了本地 MQTT 客户端进入断开连接循环的问题。

2.3.0
新功能

为本地 MQTT 源Amazon IoT Core和本地 MQTT 源之间的桥接添加了 MQTT5 支持。

2.2.6

新功能

添加新的startupTimeoutSeconds配置选项。

2.2.5

版本已针对客户端设备身份验证版本 2.4.0 版本进行了更新。

2.2.4

G reengrass 客户端设备身份验证版本 2.3.0 版本的版本已更新。

2.2.3

此版本包含错误修复和改进。

2.2.2

错误修复和改进
  • 日志调整。

2.2.1

错误修复和改进

修复了可能导致 MQTT 桥无法订阅 MQTT 主题的问题。

2.2.0

新功能

2.1.1

错误修复和改进
  • 修复了此组件如何处理配置重置更新的问题。

  • 降低证书轮换时 MQTT 客户端断开连接的频率。

2.1.0

新功能
  • 添加brokerUri参数,使您能够使用非默认 MQTT 代理端口。

2.0.1

此版本包括错误修复和改进。

2.0.0

初始版本。