翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
クライアントデバイスと AWS IoT Coreの間で MQTT メッセージや他のデータをリレーできます。クライアントデバイスは、コアデバイスに実行する MQTT ブローカーコンポーネントに接続します。デフォルトでは、コアデバイスはクライアントデバイスと の間で MQTT メッセージやデータを中継しません AWS IoT Core。クライアントデバイスは、デフォルトで MQTT を介して相互にのみ通信できます。
クライアントデバイスと の間で MQTT メッセージを中継するには AWS IoT Core、以下を実行するように MQTT ブリッジコンポーネントを設定します。
-
クライアントデバイスから にメッセージを中継します AWS IoT Core。
-
からクライアントデバイスにメッセージを中継 AWS IoT Core します。
注記
MQTT ブリッジは、クライアントデバイスが QoS 0 を使用してローカル MQTT ブローカーをパブリッシュおよびサブスクライブする場合でも AWS IoT Core、QoS 1 を使用してパブリッシュおよびサブスクライブします。その結果、ローカル MQTT ブローカーのクライアントデバイスから に MQTT メッセージを中継すると、レイテンシーが増加する可能性があります AWS IoT Core。コアデバイスにおける MQTT 設定の詳細については、「MQTT タイムアウトとキャッシュ設定を設定する」を参照してください。
MQTT ブリッジコンポーネントの設定とデプロイ
MQTT ブリッジコンポーネントは、それぞれメッセージソースとメッセージの送信先を指定するトピックマッピングのリストを使用します。クライアントデバイスと の間でメッセージを中継するには AWS IoT Core、MQTT ブリッジコンポーネントをデプロイし、コンポーネント設定で各送信元と送信先のトピックを指定します。
MQTT ブリッジコンポーネントをコアデバイスまたはコアデバイスのグループにデプロイするには、aws.greengrass.clientdevices.mqtt.Bridge
コンポーネントを含むデプロイを作成します。デプロイの MQTT ブリッジコンポーネント設定で、トピックマッピング mqttTopicMapping
を指定します。
次の例では、クライアントデバイスから AWS IoT Coreへの clients/+/hello/world
トピックフィルターに一致するトピックに関するメッセージをリレーするように、MQTT ブリッジコンポーネントを設定するデプロイを定義します。merge
設定の更新には、シリアル化された JSON オブジェクトが必要です。詳細については、「コンポーネント設定の更新」を参照してください。
{
"mqttTopicMapping": {
"HelloWorldIotCore": {
"topic": "clients/+/hello/world",
"source": "LocalMqtt",
"target": "IotCore"
}
}
}
MQTT メッセージのリレー
クライアントデバイスと の間で MQTT メッセージを中継するには AWS IoT Core、MQTT Bridge コンポーネントを設定してデプロイし、中継するトピックを指定します。
例: クライアントデバイスから にトピックのメッセージを中継する AWS IoT Core
次の MQTT ブリッジコンポーネント設定では、クライアントデバイスから AWS IoT Coreへの clients/+/hello/world/event
トピックフィルターに一致するトピックに関するメッセージのリレーを指定します。
{
"mqttTopicMapping": {
"HelloWorldEvent": {
"topic": "clients/+/hello/world/event",
"source": "LocalMqtt",
"target": "IotCore"
}
}
}
例: からクライアントデバイスにトピックのメッセージを中継 AWS IoT Core する
次の MQTT ブリッジコンポーネント設定では、 AWS IoT Core
からクライアントデバイスへの clients/+/hello/world/event/response
トピックフィルターに一致するトピックに関するメッセージのリレーを指定します。
{
"mqttTopicMapping": {
"HelloWorldEventConfirmation": {
"topic": "clients/+/hello/world/event/response",
"source": "IotCore",
"target": "LocalMqtt"
}
}
}