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

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

MQTT 3.1.1 经纪商 (Moquete)

Moquette MQTT 代理组件 (aws.greengrass.clientdevices.mqtt.Moquette) 处理客户端设备和 Greengrass 核心设备之间的 MQTT 消息。此组件提供了 M oquette MQTT 代理的修改版本。部署此 MQTT 代理来运行轻量级 MQTT 代理。有关如何选择 MQTT 代理的更多信息,请参阅选择一个 MQTT 经纪商

此代理实现 MQTT 3.1.1 协议。它包括对 QoS 0、QoS 1、QoS 2 保留消息、遗嘱消息和持续会话的支持。

注意

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

版本

此组件有以下版本:

  • 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 代理。配置此组件时,您可以指定其他端口。

    如果您指定了其他端口,并且使用 MQTT 桥接组件将 MQTT 消息中继到其他代理,则必须使用 MQTT bridge v2.1.0 或更高版本。将其配置为使用 MQTT 代理运行的端口。

    如果您指定了其他端口,并且使用 IP 检测器组件来管理 MQTT 代理端点,则必须使用 IP 检测器 v2.1.0 或更高版本。将其配置为报告 MQTT 代理运行的端口。

附属物

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

2.3.0

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

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

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

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

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

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

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

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

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

配置

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

moquette

(可选)要使用的 Moquette MQTT 代理配置。您可以在此组件中配置 Moqeutte 配置选项的子集。有关更多信息,请参阅 Moquette 配置文件中的内联注释。

此对象包含以下信息:

ssl_port

(可选)MQTT 代理运行的端口。

注意

如果您指定了其他端口,并且使用 MQTT 桥接组件将 MQTT 消息中继到其他代理,则必须使用 MQTT bridge v2.1.0 或更高版本。将其配置为使用 MQTT 代理运行的端口。

如果您指定了其他端口,并且使用 IP 检测器组件来管理 MQTT 代理端点,则必须使用 IP 检测器 v2.1.0 或更高版本。将其配置为报告 MQTT 代理运行的端口。

默认值:8883

host

(可选)MQTT 代理绑定的接口。例如,您可以更改此参数,以便 MQTT 代理仅绑定到特定的本地网络。

默认:0.0.0.0(绑定到所有网络接口)

例 示例:配置合并更新

以下示例配置指定在端口 443 上运行 MQTT 代理。

{ "moquette": { "ssl_port": "443" } }

本地日志文件

此组件使用与 Greengrass 核心组件相同的日志文件。

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

更改日志

下表说明该组件的每个版本中所做更改。

Version

变更

2.3.0

增加了对证书链的支持。

2.2.0

已针对客户端设备身份验证 2.2.0 版的版本更新。

2.1.0

错误修复和改进
  • 更新此组件以使用 Moquette 版本 0.16,该版本提高了性能并包括其他几项改进。

  • 修复了在某些情况下,本地 MQTT 服务器证书的轮换频率超出预期频率的问题。

    要应用此修复程序,还必须使用客户端设备身份验证组件的 v2.1.0 或更高版本。

2.0.2

错误修复和改进
  • 将最大 MQTT 消息大小从 8,092 字节增加到 128 千字节。有效的 MQTT 消息负载限制略低,因为消息大小限制包括消息标头。

  • ssl_port参数中添加对整数值的支持。

2.0.1

已针对 Greengrass Nucleus 版本 2.4.0 版本进行了更新。

2.0.0

初始版本。