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

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

选择一个 MQTT 经纪商

Amazon IoT Greengrass提供选项供您选择在核心设备上运行哪个本地 MQTT 代理。客户端设备连接到在核心设备上运行的 MQTT 代理,因此请选择与您要连接的客户端设备兼容的 MQTT 代理。

注意

我们建议您仅部署一个 MQTT 代理组件。这些区域有:MQTT 网桥IP 探测器组件一次只能使用一个 MQTT 代理组件。如果您部署了多个 MQTT 代理组件,则必须将它们配置为使用不同的端口。

可从以下MQTT 经纪商中进行选择:

  • MQTT 3.1.1 经纪商 (Moquette)aws.greengrass.clientdevices.mqtt.Moquette

    对于符合 MQTT 标准的轻量 MQTT 代理,请选择此选项。这些区域有:Amazon IoT CoreMQTT 经纪商和Amazon IoT Device SDK也符合 MQTT 3.1.1 标准,因此你可以使用这些功能来创建一个在你的设备上使用 MQTT 3.1.1 的应用程序Amazon Web Services 云.

  • MQTT 5 经纪商 (EMQX)aws.greengrass.clientdevices.mqtt.EMQX

    选择此选项可在核心设备和客户端设备之间的通信中使用 MQTT 5 功能。该组件使用的资源比 Moquette MQTT 3.1.1 代理还要多,在 Linux 核心设备上,它需要 Docker。

    MQTT 5 与 MQTT 3.1.1 向后兼容,因此您可以将使用 MQTT 3.1.1 的客户端设备连接到此代理。如果您运行的是Moquette MQTT 3.1.1代理,则可以将其替换为EMQX MQTT 5代理,客户端设备可以继续照常连接和运行。

    MQTT 5 功能仅限于核心设备和客户端设备之间的通信,因为Amazon IoT CoreMQTT 代理实施 MQTT 协议。因此,当您使用MQTT 网桥组件在之间中继 MQTT 消息Amazon IoT Core还有这个 MQTT 5 代理,消息使用 MQTT 3.1.1 而不是 MQTT 5。

  • 实施自定义经纪人

    选择此选项可创建自定义本地代理组件,以便与客户端设备进行通信。您可以创建使用 MQTT 以外的协议的自定义本地代理。Amazon IoT Greengrass提供了可用于对客户端设备进行身份验证和授权的组件 SDK。有关更多信息,请参阅 使用Amazon IoT Device SDK与 Greengrass 核、其他组件进行通信,以及Amazon IoT Core对客户端设备进行身份验证和授权