MQTT 3.1.1 經紀商 (平均) - AWS IoT Greengrass

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

MQTT 3.1.1 經紀商 (平均)

Moquette MQTT 代理程式元件 (aws.greengrass.clientdevices.mqtt.Moquette) 可處理用戶端裝置與 Greengrass 核心裝置之間的 MQTT 訊息。此元件提供 Moquette MQ TT 代理程式的修改版本。部署此 MQTT 代理程式以執行輕量型 MQTT 代理程式。如需如何選擇 MQTT 代理程式的詳細資訊,請參閱。選擇一個 MQTT 經紀商

該代理商實現了 MQTT 3.1.1 協議。它包含 QoS 0、QoS 1、QoS 2 保留訊息、最後將訊息和持續工作階段的支援。

注意

用戶端裝置是連線到 Greengrass 核心裝置以傳送 MQTT 訊息和資料進行處理的本機 IoT 裝置。如需詳細資訊,請參閱 與本機 IoT 裝置互動

版本

此元件具有下列版本:

  • 2.3.x 版本

  • 2.2.x 版本

  • 2.1.x

  • 2.0.x

Type

這個組件是一個插件組件(aws.greengrass.plugin)。Greengrass 核在與核相同的 Java 虛擬機(JVM)中運行此組件。當您在核心裝置上變更此元件的版本時,核心會重新啟動。

此組件使用與 Greengrass 核相同的日誌文件。如需詳細資訊,請參閱 監控AWS IoT Greengrass日誌

如需詳細資訊,請參閱 元件類型

作業系統

此元件可安裝在執行下列作業系統的核心裝置上:

  • Linux

  • Windows

要求

此元件具有下列需求:

  • 核心裝置必須能夠在 MQTT 代理程式運作的連接埠上接受連線。依預設,此元件會在連接埠 8883 上執行 MQTT 代理程式。您可以在設定此元件時指定不同的連接埠。

    如果您指定不同的連接埠,並使用 MQTT 橋接器元件將 MQTT 訊息轉送給其他代理程式,則必須使用 MQTT 橋接器 v2.1.0 或更新版本。將其設定為使用 MQTT 代理程式運作的連接埠。

    如果您指定不同的連接埠,並使用 IP 偵測器元件來管理 MQTT 代理程式端點,則必須使用 IP 偵測器 v2.1.0 或更新版本。將其設定為報告 MQTT 代理程式運作的連接埠。

  • 系統支援 MQTT 代理程式元件在 VPC 中執行。

相依性

部署元件時, AWS IoT Greengrass 也會部署其相依性的相容版本。這表示您必須符合元件及其所有相依性的需求,才能成功部署元件。本節列出此元件之已發行版本的相依性,以及定義每個相依性之元件版本的語意版本條件約束。您也可以在AWS IoT Greengrass 主控台中檢視元件每個版本的相依性。在元件詳細資料頁面上,尋找 [相依性] 清單。

2.3.7

下表列出此元件 2.3.7 版的相依性。

相依性 兼容版本 相依性類型
用戶端裝置驗證 >=2.2.0 硬式
2.3.2 – 2.3.6

下表列出此元件 2.3.2 到 2.3.6 版的相依性。

相依性 兼容版本 相依性類型
用戶端裝置驗證 >=2.2.0 硬式
2.3.0 and 2.3.1

下表列出此元件 2.3.0 和 2.3.1 版的相依性。

相依性 兼容版本 相依性類型
用戶端裝置驗證 >=2.2.0 硬式
2.2.0

下表列出此元件 2.2.0 版的相依性。

相依性 兼容版本 相依性類型
用戶端裝置驗證 >=2.2.0 硬式
2.1.0

下表列出此元件 2.1.0 版的相依性。

相依性 兼容版本 相依性類型
用戶端裝置驗證 > = 2.0.0 硬式
2.0.0 - 2.0.2

下表列出此元件 2.0.0 到 2.0.2 版本的相依性。

相依性 兼容版本 相依性類型
用戶端裝置驗證 > = 2.0.0 硬式

如需有關元件相依性的詳細資訊,請參閱元件方案參考

組態

此元件提供下列組態參數,您可以在部署元件時自訂這些參數。

moquette

(選擇性) 要使用的模型 MQTT 代理程式組態。您可以在此元件中配置 Moqeutte 配置選項的子集。如需詳細資訊,請參閱 Moquette 組態檔案中的內嵌註解。

此物件包含下列資訊:

ssl_port

(選擇性) MQTT 代理程式運作的連接埠。

注意

如果您指定不同的連接埠,並使用 MQTT 橋接器元件將 MQTT 訊息轉送給其他代理程式,則必須使用 MQTT 橋接器 v2.1.0 或更新版本。將其設定為使用 MQTT 代理程式運作的連接埠。

如果您指定不同的連接埠,並使用 IP 偵測器元件來管理 MQTT 代理程式端點,則必須使用 IP 偵測器 v2.1.0 或更新版本。將其設定為報告 MQTT 代理程式運作的連接埠。

預設:8883

host

(選擇性) MQTT 代理程式繫結的介面。例如,您可以變更此參數,以便 MQTT 代理程式僅繫結至特定的區域網路。

預設值:0.0.0.0(繫結至所有網路介面)

startupTimeoutSeconds

(選擇性) 元件啟動的時間上限 (以秒為單位)。BROKEN如果超過此逾時,組件的狀態會變更為。

預設:120

範例:組態合併更新

下列範例組態指定在連接埠 443 上操作 MQTT 代理程式。

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

本機記錄檔

此元件使用與 Greengrass 核元件相同的記錄檔。

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
若要檢視此元件的記錄
  • 在核心裝置上執行下列命令,即時檢視此元件的記錄檔。以 AWS IoT Greengrass 根資料夾的路徑取代/greengrass/v2C:\greengrass\v2

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

變更記錄

下表說明元件每個版本中的變更。

版本

變更

2.3.7

版本更新了客戶端設備身份驗證版本 2.5.0 版本。

2.3.6

錯誤修復和改進
  • 一般錯誤修正與改進。

2.3.5

錯誤修復和改進
  • 更新莫奎特至 0.17 版本。

2.3.4

錯誤修復和改進
  • 修正用戶端在傳送或接收訊息時,可能會因為用戶端 ID 重複而遇到無效工作階段錯誤的問題。這個問題造成用戶端的工作階段關閉。

2.3.3

新功能

添加一個新的startupTimeoutSeconds配置選項。

2.3.2

版本更新了客戶端設備身份驗證版本 2.4.0 版本。

2.3.1

錯誤修復和改進
  • 修正了一個競爭狀況,在嘗試重新連線後,用戶端可能會因為工作階段無效而中斷連線。

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 KB。由於郵件大小限制包含郵件標頭,因此有效的 MQTT 訊息承載限制略小。

  • 添加對參數中整ssl_port數值的支援。

2.0.1

版本更新 Greengrass 2.4.0 版本的版本。

2.0.0

初始版本。