AWS IoT
開発者ガイド

トピック

メッセージブローカーはトピックを使用して、パブリッシュするクライアントからサブスクライブするクライアントに、メッセージを振り分けます。トピックは UTF-8 でエンコードされた階層文字列です。スラッシュ (/) は、トピック階層のレベルを区切るために使用されます。次に例を示します。

Sensor/temperature/room1

このトピックでは、ルーム 1 の温度センサーについて説明します。

注記

トピックで個人を特定できる情報を使用しないでください。

以下の表では、サブスクライブ時にトピックフィルターに使用できるワイルドカードを示しています。

トピックのワイルドカード

ワイルドカード 説明
#

サブスクライブするトピックの末尾の文字であることが必要です。現在のツリーとすべてのサブツリーに一致するワイルドカードとして機能します。たとえば、Sensor/# へのサブスクリプションは Sensor/Sensor/tempSensor/temp/room1 にパブリッシュされたメッセージを受信しますが、Sensor にパブリッシュされたメッセージは受信しません。

+

トピック階層内の 1 つの項目に完全に一致します。たとえば、Sensor/+/room1 へのサブスクリプションでは、Sensor/temp/room1Sensor/moisture/room1 などにパブリッシュされたメッセージを受信します。

トピックの名前空間は AWS アカウントとリージョンペアごとに分離されます。たとえば、AWS アカウント用の Sensor/temp/room1 トピックは別の AWS アカウント用の Sensor/temp/room1 トピックからは独立しています。これは、リージョンにも当てはまります。Sensor/temp/room1 の同じ AWS アカウントの us-east-1 トピックは us-east-2 の同じトピックからは独立しています。AWS IoT では、AWS アカウント間、リージョン間のメッセージの送受信はサポートされていません。

予約されたトピック

以下に一覧されているトピックを除いて、$ で始まるトピックはすべて、予約されたトピックとして認識されるため、パブリッシュおよびサブスクライブすることはできません。$ で始まるトピックをパブリッシュ、またはサブスクライブしようとすると、接続が終了します。

イベントのトピック

トピック 許可されたオペレーション 説明

$aws/events/presence/connected/clientId

サブスクライブ

AWS IoT は、指定クライアント ID を持つ MQTT クライアントが AWS IoT に接続するときにこのトピックにパブリッシュします。詳細については、「接続/切断イベント」を参照してください。

$aws/events/presence/disconnected/clientId

サブスクライブ

AWS IoT は、指定クライアント ID を持つ MQTT クライアントが AWS IoT から切断するときにこのトピックにパブリッシュします。詳細については、「接続/切断イベント」を参照してください。

$aws/events/subscriptions/subscribed/clientId

サブスクライブ

AWS IoT は、指定クライアント ID を持つ MQTT クライアントが MQTT トピックにサブスクライブするときにこのトピックにパブリッシュします。詳細については、「サブスクライブ/サブスクライブ解除イベント」を参照してください。

$aws/events/subscriptions/unsubscribed/clientId

サブスクライブ

AWS IoT は、指定クライアント ID を持つ MQTT クライアントが MQTT トピックにサブスクライブ解除するときにこのトピックにパブリッシュします。詳細については、「サブスクライブ/サブスクライブ解除イベント」を参照してください。

ルールのトピック

トピック 許可されたオペレーション 説明

$aws/rules/ruleName

発行

デバイスまたはアプリケーションは、このトピックに発行して、ルールを直接トリガーします。詳細については、「基本的な取り込み」を参照してください。

Thing Shadow のトピック

トピック 許可されたオペレーション 説明

$aws/things/<thingName>/shadow/delete

パブリッシュ/サブスクライブ

デバイスまたはアプリケーションは、このトピックにパブリッシュして、シャドウを削除します。詳細については、「/delete」を参照してください。

$aws/things/<thingName>/shadow/delete/accepted

サブスクリプション

Device Shadow サービスは、シャドウが削除されると、このトピックにメッセージを送信します。詳細については、「/delete/accepted」を参照してください。

$aws/things/<thingName>/shadow/delete/rejected

サブスクリプション

Device Shadow サービスは、シャドウの削除リクエストが拒否されると、このトピックにメッセージを送信します。詳細については、「/delete/rejected」を参照してください。

$aws/things/<thingName>/shadow/get

パブリッシュ/サブスクライブ

アプリケーションまたはモノは、このトピックに空のメッセージをパブリッシュして、Shadow を取得します。詳細については、「 Shadow の MQTT トピック」を参照してください。

$aws/things/<thingName>/shadow/get/accepted

サブスクリプション

Device Shadow サービスは、シャドウに対するリクエストが正常に行われると、このトピックにメッセージを送信します。詳細については、「/get/accepted」を参照してください。

$aws/things/<thingName>/shadow/get/rejected

サブスクリプション

Device Shadow サービスは、シャドウのリクエストが拒否されると、このトピックにメッセージを送信します。詳細については、「/get/rejected」を参照してください。

$aws/things/<thingName>/shadow/update

パブリッシュ/サブスクライブ

モノまたはアプリケーションは、このトピックにパブリッシュして、Shadow を更新します。詳細については、「/update」を参照してください。

$aws/things/<thingName>/shadow/update/accepted

サブスクリプション

Device Shadow サービスは、シャドウに対する更新が正常に行われると、このトピックにメッセージを送信します。詳細については、「/update/accepted」を参照してください。

$aws/things/<thingName>/shadow/update/rejected

サブスクリプション

Device Shadow サービスは、シャドウに対する更新が拒否されると、このトピックにメッセージを送信します。詳細については、「/update/rejected」を参照してください。

$aws/things/<thingName>/shadow/update/delta

サブスクリプション

Device Shadow サービスは、シャドウの reported セクションと desired セクションとの間で差分が検出されると、このトピックにメッセージを送信します。詳細については、「/update/delta」を参照してください。

$aws/things/<thingName>/shadow/update/documents

サブスクリプション

AWS IoT は、Shadow に対する更新が正常に実行されるたびに、このトピックに状態ドキュメントをパブリッシュします。詳細については、「/update/documents」を参照してください。

ジョブのトピック

トピック 許可されたオペレーション 説明

$aws/things/<thingName>/jobs/get

発行

デバイスは、このトピックにメッセージを発行して、GetPendingJobExecutions リクエストを実行します。詳細については、「AWS IoT ジョブ API の使用」を参照してください。

$aws/things/<thingName>/jobs/get/accepted

サブスクリプション

デバイスは、このトピックにサブスクライブして、GetPendingJobExecutions から正常なレスポンスを受け取ります。詳細については、「AWS IoT ジョブ API の使用」を参照してください。

$aws/things/<thingName>/jobs/get/accepted

サブスクリプション

デバイスは、このトピックにサブスクライブして、GetPendingJobExecutions リクエストに対する正常なレスポンスを受け取ります。詳細については、「AWS IoT ジョブ API の使用」を参照してください。

$aws/things/<thingName>/jobs/start-next

発行

デバイスは、このトピックにメッセージを発行して、StartNextPendingJobExecution リクエストを実行します。詳細については、「AWS IoT ジョブ API の使用」を参照してください。

$aws/things/<thingName>/jobs/start-next/accepted

サブスクリプション

デバイスは、このトピックにサブスクライブして、StartNextPendingJobExecution リクエストに対する正常なレスポンスを受け取ります。詳細については、「AWS IoT ジョブ API の使用」を参照してください。

$aws/things/<thingName>/jobs/start-next/rejected

サブスクリプション

デバイスは、このトピックにサブスクライブして、StartNextPendingJobExecution リクエストに対する正常なレスポンスを受け取ります。詳細については、「AWS IoT ジョブ API の使用」を参照してください。

$aws/things/<thingName>/jobs/jobId/get

発行

デバイスは、このトピックにメッセージを発行して、DescribeJobExecution リクエストを実行します。詳細については、「AWS IoT ジョブ API の使用」を参照してください。

$aws/things/<thingName>/jobs/<jobId>/get/accepted

サブスクリプション

デバイスは、このトピックにサブスクライブして、DescribeJobExecution リクエストに対する正常なレスポンスを受け取ります。詳細については、「AWS IoT ジョブ API の使用」を参照してください。

$aws/things/<thingName>/jobs/<jobId>/get/rejected

サブスクリプション

デバイスは、このトピックにサブスクライブして、DescribeJobExecution リクエストに対する正常なレスポンスを受け取ります。詳細については、「AWS IoT ジョブ API の使用」を参照してください。

$aws/things/<thingName>/jobs/<jobId>/update

発行

デバイスは、このトピックにメッセージを発行して、UpdateJobExecution リクエストを実行します。詳細については、「AWS IoT ジョブ API の使用」を参照してください。

$aws/things/<thingName>/jobs/<jobId>/update/accepted

サブスクリプション

デバイスは、このトピックにサブスクライブして、UpdateJobExecution リクエストに対する正常なレスポンスを受け取ります。詳細については、「AWS IoT ジョブ API の使用」を参照してください。

$aws/things/<thingName>/jobs/<jobId>/update/rejected

サブスクリプション

デバイスは、このトピックにサブスクライブして、UpdateJobExecution リクエストに対する正常なレスポンスを受け取ります。詳細については、「AWS IoT ジョブ API の使用」を参照してください。

$aws/things/<thingName>/jobs/notify

サブスクリプション

デバイスは、このトピックにサブスクライブして、モノに対して保留中の実行のリストとの間でジョブの実行が追加または削除されたときに、通知を受け取ります。詳細については、「AWS IoT ジョブ API の使用」を参照してください。

$aws/things/<thingName>/jobs/notify-next

サブスクリプション

デバイスはこのトピックにサブスクライブして、モノに対する次に保留中のジョブの実行が変更されたときに、通知を受け取ります。詳細については、「AWS IoT ジョブ API の使用」を参照してください。

$aws/events/job/<jobId>/completed

サブスクリプション

ジョブサービスは、ジョブが完了したときに、このトピックでイベントを発行します。詳細については、「ジョブイベント」を参照してください。

$aws/events/job/<jobId>/canceled

サブスクリプション

ジョブサービスは、ジョブがキャンセルされたときに、このトピックでイベントを発行します。詳細については、「ジョブイベント」を参照してください。

$aws/events/job/<jobId>/deleted

サブスクリプション

ジョブサービスは、ジョブが削除されたときに、このトピックでイベントを発行します。詳細については、「ジョブイベント」を参照してください。

$aws/events/job/<jobId>/cancellation_in_progress

サブスクリプション

ジョブサービスは、ジョブのキャンセルが開始されたときに、このトピックでイベントを発行します。詳細については、「ジョブイベント」を参照してください。

$aws/events/job/<jobId>/deletion_in_progress

サブスクリプション

ジョブサービスは、ジョブの削除が開始されたときに、イベントを発行します。詳細については、「ジョブイベント」を参照してください。

$aws/events/jobExecution/<jobId>/succeeded

サブスクリプション

ジョブサービスは、ジョブの実行が成功したときに、このトピックでイベントを発行します。詳細については、「ジョブイベント」を参照してください。

$aws/events/jobExecution/<jobId>/failed

サブスクリプション

ジョブサービスは、ジョブの実行が失敗したときにイベントを発行します。詳細については、「ジョブイベント」を参照してください。

$aws/events/jobExecution/<jobId>/rejected

サブスクリプション

ジョブサービスは、ジョブの実行が拒否されたときに、このトピックでイベントを発行します。詳細については、「ジョブイベント」を参照してください。

$aws/events/jobExecution/<jobId>/canceled

サブスクリプション

ジョブサービスは、ジョブの実行がキャンセルされたときに、このトピックでイベントを発行します。詳細については、「ジョブイベント」を参照してください。

$aws/events/jobExecution/<jobId>/timed_out

サブスクリプション

ジョブサービスは、ジョブの実行がタイムアウトしたときに、このトピックでイベントを発行します。詳細については、「ジョブイベント」を参照してください。

$aws/events/jobExecution/<jobId>/removed

サブスクリプション

ジョブサービスは、ジョブの実行が削除されたときに、このトピックでイベントを発行します。詳細については、「ジョブイベント」を参照してください。

$aws/events/jobExecution/<jobId>/deleted

サブスクリプション

ジョブサービスは、ジョブの実行が削除されたときに、このトピックでイベントを発行します。詳細については、「ジョブイベント」を参照してください。

このページの内容: