本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
MQTT 大橋
MQTT 橋接器元件 (aws.greengrass.clientdevices.mqtt.Bridge
) 會在用戶端裝置、本機 Greengrass 發佈/訂閱和之間轉送 MQTT 訊息。 AWS IoT Core您可以使用此元件來處理來自自訂元件中用戶端裝置的 MQTT 訊息,並將用戶端裝置與. AWS 雲端
用戶端裝置是連線到 Greengrass 核心裝置以傳送 MQTT 訊息和資料進行處理的本機 IoT 裝置。如需詳細資訊,請參閱 與本機 IoT 裝置互動。
您可以使用此元件在下列訊息代理程式之間轉送訊息:
-
本機 MQTT — 本機 MQTT 代理程式可處理用戶端裝置與核心裝置之間的訊息。
-
本機發佈/訂閱 — 本機 Greengrass 訊息代理程式會處理核心裝置上元件之間的訊息。如需有關如何在 Greengrass 元件中與這些訊息互動的詳細資訊,請參閱。發佈/訂閱本地訊息
-
AWS IoT Core — AWS IoT Core MQTT 代理程式可處理 IoT 裝置與 AWS 雲端 目標之間的訊息。如需有關如何在 Greengrass 元件中與這些訊息互動的詳細資訊,請參閱。發佈/訂閱訊 AWS IoT Core MQTT息
即使用戶端裝置使用 QoS 0 發佈和訂閱本機 MQTT 代理程式 AWS IoT Core,MQTT 橋接器也會使用 QoS 1 來發佈和訂閱。因此,當您將 MQTT 訊息從本機 MQTT 代理程式上的用戶端裝置轉送至時,可能會發現額外的延遲。 AWS IoT Core如需核心裝置上 MQTT 組態的詳細資訊,請參閱。設定MQTT逾時和快取設定
版本
此元件具有下列版本:
-
2.3.x 版本
-
2.2.x 版本
-
2.1.x
-
2.0.x
Type
這個組件是一個插件組件(aws.greengrass.plugin
)。Greengrass 核在與核相同的 Java 虛擬機(JVM)中運行此組件。當您在核心裝置上變更此元件的版本時,核心會重新啟動。
此組件使用與 Greengrass 核相同的日誌文件。如需詳細資訊,請參閱 監控AWS IoT Greengrass日誌。
如需詳細資訊,請參閱 元件類型。
作業系統
要求
此元件具有下列需求:
相依性
部署元件時, AWS IoT Greengrass 也會部署其相依性的相容版本。這表示您必須符合元件及其所有相依性的需求,才能成功部署元件。本節列出此元件之已發行版本的相依性,以及定義每個相依性之元件版本的語意版本條件約束。您也可以在AWS IoT Greengrass 主控台中檢視元件每個版本的相依性。在元件詳細資料頁面上,尋找 [相依性] 清單。
- 2.3.2
-
下表列出此元件 2.3.2 版的相依性。
- 2.3.0 and 2.3.1
-
下表列出此元件 2.3.0 和 2.3.1 版的相依性。
- 2.2.5 and 2.2.6
-
下表列出此元件 2.2.5 和 2.2.6 版的相依性。
- 2.2.3 and 2.2.4
-
下表列出此元件 2.2.3 和 2.2.4 版的相依性。
- 2.2.0 – 2.2.2
-
下表列出此元件 2.2.0 至 2.2.2 版的相依性。
- 2.1.1
-
下表列出此元件 2.1.1 版的相依性。
相依性 |
兼容版本 |
相依性類型 |
用戶端裝置驗證 |
> = 2.0.0 |
硬式 |
- 2.0.0 to 2.1.0
-
下表列出此元件 2.0.0 到 2.1.0 版的相依性。
相依性 |
兼容版本 |
相依性類型 |
用戶端裝置驗證 |
> = 2.0.0 |
硬式 |
如需有關元件相依性的詳細資訊,請參閱元件方案參考。
組態
此元件提供下列組態參數,您可以在部署元件時自訂這些參數。
- 2.3.0 – 2.3.2
-
mqttTopicMapping
-
您要橋接的主題對映。此元件會訂閱來源主題上的訊息,並將其接收到的訊息發佈至目標主題。每個主題對映都會定義主題、來源類型和目標類型。
此物件包含下列資訊:
topicMappingNameKey
-
此主題對映的名稱。以可協助您識別此主題對應的名稱取代 topicMappingNameKey
。
此物件包含下列資訊:
topic
-
主題或主題篩選器可在來源代理程式與目標代理程式之間建立橋接
您可以使用+
和 #
MQTT 主題萬用字元來轉送符合主題篩選器的所有主題的郵件。如需詳細資訊,請參閱AWS IoT Core 開發人員指南中的 MQTT 主題。
targetTopicPrefix
-
當此元件轉送訊息時,要新增至目標主題的前置詞。
source
-
來源訊息代理程式。您可以從以下選項中選擇:
-
LocalMqtt
— 用戶端裝置通訊的本機 MQTT 代理程式。
-
Pubsub
— 本機 Greengrass 發佈/訂閱訊息代理程式。
-
IotCore
— AWS IoT Core MQTT 訊息代理程式。
即使用戶端裝置使用 QoS 0 發佈和訂閱本機 MQTT 代理程式 AWS IoT Core,MQTT 橋接器也會使用 QoS 1 來發佈和訂閱。因此,當您將 MQTT 訊息從本機 MQTT 代理程式上的用戶端裝置轉送至時,可能會發現額外的延遲。 AWS IoT Core如需核心裝置上 MQTT 組態的詳細資訊,請參閱。設定MQTT逾時和快取設定
source
並且target
必須是不同的。
target
-
目標訊息代理程式。您可以從以下選項中選擇:
-
LocalMqtt
— 用戶端裝置通訊的本機 MQTT 代理程式。
-
Pubsub
— 本機 Greengrass 發佈/訂閱訊息代理程式。
-
IotCore
— AWS IoT Core MQTT 訊息代理程式。
即使用戶端裝置使用 QoS 0 發佈和訂閱本機 MQTT 代理程式 AWS IoT Core,MQTT 橋接器也會使用 QoS 1 來發佈和訂閱。因此,當您將 MQTT 訊息從本機 MQTT 代理程式上的用戶端裝置轉送至時,可能會發現額外的延遲。 AWS IoT Core如需核心裝置上 MQTT 組態的詳細資訊,請參閱。設定MQTT逾時和快取設定
source
並且target
必須是不同的。
- mqtt5 RouteOptions
-
(選擇性) 提供用於設定將訊息從來源主題橋接至目標主題的主題對應的選項。
此物件包含下列資訊:
mqtt5 RouteOptionsNameKey
-
主題對映的路由選項名稱。使用欄位中定義的RouteOptionsNameKey相符topicMappingName金鑰
取代 mqtt5
。mqttTopicMapping
此物件包含下列資訊:
- 無本地
-
(選擇性) 啟用時,橋接器不會轉寄橋接器本身發佈之主題的郵件。使用它來防止循環,如下所示:
{
"mqtt5RouteOptions": {
"toIoTCore": {
"noLocal": true
}
},
"mqttTopicMapping": {
"toIoTCore": {
"topic": "device",
"source": "LocalMqtt",
"target": "IotCore"
},
"toLocal": {
"topic": "device",
"source": "IotCore",
"target": "LocalMqtt"
}
}
}
noLocal
僅支援所在的路source
由LocalMqtt
。
預設:false
- retainAsPublished
-
(選擇性) 啟用時,橋接器轉寄的訊息會與針對該路由發佈至 Broker 的訊息具有相同的retain
旗標。
retainAsPublished
僅支援所在的路source
由LocalMqtt
。
預設:false
- mqtt
-
(選擇性) 用於與本機代理程式通訊的 MQTT 通訊協定設定。
- version
-
(選擇性) 橋接器用來與本機代理程式通訊的 MQTT 通訊協定版本。必須與核心組態中選取的 MQTT 版本相同。
請選擇下列項目:
當mqttTopicMapping
物件的source
或target
欄位設定為時,您必須部署 MQTT 代理程式。LocalMqtt
如果您選擇該mqtt5
選項,則必須使用MQTT 5 經紀商.
預設:mqtt3
- ackTimeoutSeconds
-
(選擇性) 作業失敗之前,等待 PUBACK、SUBACK 或 UNSUBACK 封包的時間間隔。
預設:60
- connAckTimeout女士
-
(選擇性) 在關閉連線之前等待 CONNACK 封包的時間間隔。
預設值:2 萬 (20 秒)
- pingTimeoutMs
-
(選擇性) 橋接器等待從本機代理程式接收 PINGACK 訊息的時間量 (毫秒)。如果等待超過逾時,橋接器會關閉,然後重新開啟 MQTT 連線。此值必須小於keepAliveTimeoutSeconds
。
預設值:3 萬 (30 秒)
- keepAliveTimeout秒
-
(選擇性) 橋接器傳送以維持 MQTT 連線作用中的每個 PING 訊息之間的時間 (以秒為單位)。此值必須大於pingTimeoutMs
。
預設:60
- maxReconnectDelay女士
-
(選擇性) MQTT 重新連線的時間上限 (以秒為單位)。
預設值:3 萬 (30 秒)
- minReconnectDelay女士
-
(選擇性) MQTT 重新連線的時間下限 (以秒為單位)。
- 接收最大值
-
(選擇性) 橋接器可傳送的未確認 QoS1 封包數目上限。
預設:100
- maximumPacketSize
-
用戶端接受 MQTT 封包的最大位元組數。
預設值:空值 (無限制)
- sessionExpiryInterval
-
(選擇性) 您可以要求在橋接器和本機代理程式之間持續工作階段的時間 (以秒為單位)。
預設值:4294967295 (工作階段永遠不會過期)
brokerUri
-
(選擇性) 本機 MQTT 代理程式的 URI。如果您將 MQTT 代理程式設定為使用與預設連接埠 8883 不同的連接埠,則必須指定此參數。請使用下列格式,並以 MQTT 代理程式運作的連接埠取代連接埠:
ssl://localhost:port
預設:ssl://localhost:8883
- startupTimeoutSeconds
-
(選擇性) 元件啟動的時間上限 (以秒為單位)。BROKEN
如果超過此逾時,組件的狀態會變更為。
預設:120
範例:組態合併更新
下列範例組態更新會指定下列項目:
-
將訊息從用戶端裝置轉送至 AWS IoT Core 符合主clients/+/hello/world
題篩選器的主題。
-
在符合主題篩選器的主題上,將訊息從用戶端裝置轉送至本機發佈/訂閱,並將前置events/input/
詞新增至目標主clients/+/detections
題。產生的目標主題符合主events/input/clients/+/detections
題篩選器。
-
將訊息從用戶端裝置轉送至 AWS IoT Core 符合主clients/+/status
題篩選器的主題,並將前置$aws/rules/StatusUpdateRule/
詞新增至目標主題。此範例會將這些訊息直接轉送至名為的AWS IoT 規則,StatusUpdateRule
以使用基本擷取降低成本。
{
"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
下列範例組態會更新下列項目:
{
"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 主題萬用字元來轉送符合主題篩選器的所有主題的郵件。如需詳細資訊,請參閱AWS IoT Core 開發人員指南中的 MQTT 主題。
targetTopicPrefix
-
當此元件轉送訊息時,要新增至目標主題的前置詞。
source
-
來源訊息代理程式。您可以從以下選項中選擇:
-
LocalMqtt
— 用戶端裝置通訊的本機 MQTT 代理程式。
-
Pubsub
— 本機 Greengrass 發佈/訂閱訊息代理程式。
-
IotCore
— AWS IoT Core MQTT 訊息代理程式。
即使用戶端裝置使用 QoS 0 發佈和訂閱本機 MQTT 代理程式 AWS IoT Core,MQTT 橋接器也會使用 QoS 1 來發佈和訂閱。因此,當您將 MQTT 訊息從本機 MQTT 代理程式上的用戶端裝置轉送至時,可能會發現額外的延遲。 AWS IoT Core如需核心裝置上 MQTT 組態的詳細資訊,請參閱。設定MQTT逾時和快取設定
source
並且target
必須是不同的。
target
-
目標訊息代理程式。您可以從以下選項中選擇:
-
LocalMqtt
— 用戶端裝置通訊的本機 MQTT 代理程式。
-
Pubsub
— 本機 Greengrass 發佈/訂閱訊息代理程式。
-
IotCore
— AWS IoT Core MQTT 訊息代理程式。
即使用戶端裝置使用 QoS 0 發佈和訂閱本機 MQTT 代理程式 AWS IoT Core,MQTT 橋接器也會使用 QoS 1 來發佈和訂閱。因此,當您將 MQTT 訊息從本機 MQTT 代理程式上的用戶端裝置轉送至時,可能會發現額外的延遲。 AWS IoT Core如需核心裝置上 MQTT 組態的詳細資訊,請參閱。設定MQTT逾時和快取設定
source
並且target
必須是不同的。
brokerUri
-
(選擇性) 本機 MQTT 代理程式的 URI。如果您將 MQTT 代理程式設定為使用與預設連接埠 8883 不同的連接埠,則必須指定此參數。請使用下列格式,並以 MQTT 代理程式運作的連接埠取代連接埠:
ssl://localhost:port
預設:ssl://localhost:8883
- startupTimeoutSeconds
-
(選擇性) 元件啟動的時間上限 (以秒為單位)。BROKEN
如果超過此逾時,組件的狀態會變更為。
預設:120
範例:組態合併更新
下列範例組態更新會指定下列項目:
-
將訊息從用戶端裝置轉送至 AWS IoT Core 符合主clients/+/hello/world
題篩選器的主題。
-
在符合主題篩選器的主題上,將訊息從用戶端裝置轉送至本機發佈/訂閱,並將前置events/input/
詞新增至目標主clients/+/detections
題。產生的目標主題符合主events/input/clients/+/detections
題篩選器。
-
將訊息從用戶端裝置轉送至 AWS IoT Core 符合主clients/+/status
題篩選器的主題,並將前置$aws/rules/StatusUpdateRule/
詞新增至目標主題。此範例會將這些訊息直接轉送至名為的AWS IoT 規則,StatusUpdateRule
以使用基本擷取降低成本。
{
"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 主題萬用字元來轉送符合主題篩選器的所有主題的郵件。如需詳細資訊,請參閱AWS IoT Core 開發人員指南中的 MQTT 主題。
targetTopicPrefix
-
當此元件轉送訊息時,要新增至目標主題的前置詞。
source
-
來源訊息代理程式。您可以從以下選項中選擇:
-
LocalMqtt
— 用戶端裝置通訊的本機 MQTT 代理程式。
-
Pubsub
— 本機 Greengrass 發佈/訂閱訊息代理程式。
-
IotCore
— AWS IoT Core MQTT 訊息代理程式。
即使用戶端裝置使用 QoS 0 發佈和訂閱本機 MQTT 代理程式 AWS IoT Core,MQTT 橋接器也會使用 QoS 1 來發佈和訂閱。因此,當您將 MQTT 訊息從本機 MQTT 代理程式上的用戶端裝置轉送至時,可能會發現額外的延遲。 AWS IoT Core如需核心裝置上 MQTT 組態的詳細資訊,請參閱。設定MQTT逾時和快取設定
source
並且target
必須是不同的。
target
-
目標訊息代理程式。您可以從以下選項中選擇:
-
LocalMqtt
— 用戶端裝置通訊的本機 MQTT 代理程式。
-
Pubsub
— 本機 Greengrass 發佈/訂閱訊息代理程式。
-
IotCore
— AWS IoT Core MQTT 訊息代理程式。
即使用戶端裝置使用 QoS 0 發佈和訂閱本機 MQTT 代理程式 AWS IoT Core,MQTT 橋接器也會使用 QoS 1 來發佈和訂閱。因此,當您將 MQTT 訊息從本機 MQTT 代理程式上的用戶端裝置轉送至時,可能會發現額外的延遲。 AWS IoT Core如需核心裝置上 MQTT 組態的詳細資訊,請參閱。設定MQTT逾時和快取設定
source
並且target
必須是不同的。
brokerUri
-
(選擇性) 本機 MQTT 代理程式的 URI。如果您將 MQTT 代理程式設定為使用與預設連接埠 8883 不同的連接埠,則必須指定此參數。請使用下列格式,並以 MQTT 代理程式運作的連接埠取代連接埠:
ssl://localhost:port
預設:ssl://localhost:8883
範例:組態合併更新
下列範例組態更新會指定下列項目:
-
將訊息從用戶端裝置轉送至 AWS IoT Core 符合主clients/+/hello/world
題篩選器的主題。
-
在符合主題篩選器的主題上,將訊息從用戶端裝置轉送至本機發佈/訂閱,並將前置events/input/
詞新增至目標主clients/+/detections
題。產生的目標主題符合主events/input/clients/+/detections
題篩選器。
-
將訊息從用戶端裝置轉送至 AWS IoT Core 符合主clients/+/status
題篩選器的主題,並將前置$aws/rules/StatusUpdateRule/
詞新增至目標主題。此範例會將這些訊息直接轉送至名為的AWS IoT 規則,StatusUpdateRule
以使用基本擷取降低成本。
{
"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
-
主題或主題篩選器可在來源代理程式與目標代理程式之間建立橋接
如果您指定LocalMqtt
或IotCore
來源代理程式,則可以使用+
和 #
MQTT 主題萬用字元來轉送符合主題篩選器的所有主題的訊息。如需詳細資訊,請參閱AWS IoT Core 開發人員指南中的 MQTT 主題。
source
-
來源訊息代理程式。您可以從以下選項中選擇:
-
LocalMqtt
— 用戶端裝置通訊的本機 MQTT 代理程式。
-
Pubsub
— 本機 Greengrass 發佈/訂閱訊息代理程式。
-
IotCore
— AWS IoT Core MQTT 訊息代理程式。
即使用戶端裝置使用 QoS 0 發佈和訂閱本機 MQTT 代理程式 AWS IoT Core,MQTT 橋接器也會使用 QoS 1 來發佈和訂閱。因此,當您將 MQTT 訊息從本機 MQTT 代理程式上的用戶端裝置轉送至時,可能會發現額外的延遲。 AWS IoT Core如需核心裝置上 MQTT 組態的詳細資訊,請參閱。設定MQTT逾時和快取設定
source
並且target
必須是不同的。
target
-
目標訊息代理程式。您可以從以下選項中選擇:
-
LocalMqtt
— 用戶端裝置通訊的本機 MQTT 代理程式。
-
Pubsub
— 本機 Greengrass 發佈/訂閱訊息代理程式。
-
IotCore
— AWS IoT Core MQTT 訊息代理程式。
即使用戶端裝置使用 QoS 0 發佈和訂閱本機 MQTT 代理程式 AWS IoT Core,MQTT 橋接器也會使用 QoS 1 來發佈和訂閱。因此,當您將 MQTT 訊息從本機 MQTT 代理程式上的用戶端裝置轉送至時,可能會發現額外的延遲。 AWS IoT Core如需核心裝置上 MQTT 組態的詳細資訊,請參閱。設定MQTT逾時和快取設定
source
並且target
必須是不同的。
brokerUri
-
(選擇性) 本機 MQTT 代理程式的 URI。如果您將 MQTT 代理程式設定為使用與預設連接埠 8883 不同的連接埠,則必須指定此參數。請使用下列格式,並以 MQTT 代理程式運作的連接埠取代連接埠:
ssl://localhost:port
預設:ssl://localhost:8883
範例:組態合併更新
下列範例組態更新指定將用戶端裝置的訊息轉送至 AWS IoT Core clients/MyClientDevice1/hello/world
和clients/MyClientDevice2/hello/world
主題。
{
"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
-
主題或主題篩選器可在來源代理程式與目標代理程式之間建立橋接
如果您指定LocalMqtt
或IotCore
來源代理程式,則可以使用+
和 #
MQTT 主題萬用字元來轉送符合主題篩選器的所有主題的訊息。如需詳細資訊,請參閱AWS IoT Core 開發人員指南中的 MQTT 主題。
source
-
來源訊息代理程式。您可以從以下選項中選擇:
-
LocalMqtt
— 用戶端裝置通訊的本機 MQTT 代理程式。
-
Pubsub
— 本機 Greengrass 發佈/訂閱訊息代理程式。
-
IotCore
— AWS IoT Core MQTT 訊息代理程式。
即使用戶端裝置使用 QoS 0 發佈和訂閱本機 MQTT 代理程式 AWS IoT Core,MQTT 橋接器也會使用 QoS 1 來發佈和訂閱。因此,當您將 MQTT 訊息從本機 MQTT 代理程式上的用戶端裝置轉送至時,可能會發現額外的延遲。 AWS IoT Core如需核心裝置上 MQTT 組態的詳細資訊,請參閱。設定MQTT逾時和快取設定
source
並且target
必須是不同的。
target
-
目標訊息代理程式。您可以從以下選項中選擇:
-
LocalMqtt
— 用戶端裝置通訊的本機 MQTT 代理程式。
-
Pubsub
— 本機 Greengrass 發佈/訂閱訊息代理程式。
-
IotCore
— AWS IoT Core MQTT 訊息代理程式。
即使用戶端裝置使用 QoS 0 發佈和訂閱本機 MQTT 代理程式 AWS IoT Core,MQTT 橋接器也會使用 QoS 1 來發佈和訂閱。因此,當您將 MQTT 訊息從本機 MQTT 代理程式上的用戶端裝置轉送至時,可能會發現額外的延遲。 AWS IoT Core如需核心裝置上 MQTT 組態的詳細資訊,請參閱。設定MQTT逾時和快取設定
source
並且target
必須是不同的。
範例:組態合併更新
下列範例組態更新指定將用戶端裝置的訊息轉送至 AWS IoT Core clients/MyClientDevice1/hello/world
和clients/MyClientDevice2/hello/world
主題。
{
"mqttTopicMapping": {
"ClientDevice1HelloWorld": {
"topic": "clients/MyClientDevice1/hello/world",
"source": "LocalMqtt",
"target": "IotCore"
},
"ClientDevice2HelloWorld": {
"topic": "clients/MyClientDevice2/hello/world",
"source": "LocalMqtt",
"target": "IotCore"
}
}
}
本機記錄檔
此元件使用與 Greengrass 核元件相同的記錄檔。
- Linux
-
/greengrass/v2
/logs/greengrass.log
- Windows
-
C:\greengrass\v2
\logs\greengrass.log
變更記錄
下表說明元件每個版本的變更。
版本
|
變更
|
2.3.2
|
版本更新了客戶端設備身份驗證版本 2.5.0 版本。
|
2.3.1 |
- 錯誤修復和改進
-
修正本機 MQTT 用戶端進入中斷連線迴圈的問題。
|
2.3.0 |
- 新功能
-
新增 MQTT5 支援,以便在 MQTT 來源 AWS IoT Core 與本機來源之間進行橋接。
|
2.2.6
|
- 新功能
-
添加一個新的startupTimeoutSeconds 配置選項。
|
2.2.5
|
版本更新了客戶端設備身份驗證版本 2.4.0 版本。
|
2.2.4
|
版本已針對 Greengrass 客戶端設備身份驗證 2.3.0 版本更新。
|
2.2.3
|
此版本包含錯誤修復和改進。
|
2.2.2
|
|
2.2.1
|
- 錯誤修復和改進
-
修正了可能導致 MQTT 橋接器無法訂閱 MQTT 主題的問題。
|
2.2.0
|
- 新功能
-
-
當您指定本機發佈/訂閱做為來源訊息代理程式時,新增對 MQTT 主題萬用字元 (# 和+ ) 的支援。
此功能需要 v2.6.0 或更高版 Greeng rass 核成分。
-
新增選targetTopicPrefix 項,您可以指定該選項來設定 MQTT 橋接器,以便在轉送郵件時將首碼新增至目標主題。
|
2.1.1
|
|
2.1.0
|
|
2.0.1
|
此版本包括錯誤修復和改進。
|
2.0.0
|
初始版本。
|