

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# MQTT トピック
<a name="topics"></a>

MQTT トピックは AWS IoT messages. AWS IoT clients を識別し、メッセージトピック名を指定して発行するメッセージを識別します。クライアントは、トピックフィルターを AWS IoT Coreに登録して、サブスクライブ (受信) するメッセージを識別します。メッセージブローカーはトピック名とトピックフィルターを使用して、パブリッシュするクライアントからサブスクライブするクライアントに、 メッセージを振り分けます。

メッセージブローカーは、トピックを使用して、MQTT を使用して送信されたメッセージと、HTTP を使用して [HTTPS メッセージ URL](http.md#httpurl) に送信されたメッセージを識別します。

は一部の[予約済みシステムトピック](reserved-topics.md) AWS IoT をサポートしていますが、ほとんどの MQTT トピックは、次のセクションで説明するように、システムデザイナーであるユーザーが作成および管理します。 はトピック AWS IoT を使用して、発行クライアントから受信したメッセージを識別し、サブスクライブしているクライアントに送信するメッセージを選択します。システムのトピック名前空間を作成する前に、MQTT トピックの特性を確認して、IoT システムに最適なトピック名の階層を作成します。

## トピック名
<a name="topicnames"></a>

トピック名とトピックフィルターは、UTF-8 エンコードされた文字列です。スラッシュ (/) 文字を使用して階層のレベルを区切ることにより、情報の階層を表すことができます。たとえば、このトピック名は、部屋 1 の温度センサーを表すことができます。
+ `sensor/temperature/room1`

この例では、次のようなトピック名を持つ他の種類のセンサーが他の部屋にある場合もあります。
+ `sensor/temperature/room2`
+ `sensor/humidity/room1`
+ `sensor/humidity/room2`

**注記**  
システム内のメッセージのトピック名を考慮する場合は、次の点に注意してください。  
トピック名とトピックフィルターでは、大文字と小文字が区別されます。
トピック名に個人を特定できる情報を含めることはできません。
\$1 で始まるトピック名は、 AWS IoT Coreのみが使用する[予約済みのトピック](reserved-topics.md)です。
AWS IoT Core は、 AWS アカウントまたはリージョン間でメッセージを送受信できません。

トピック名と名前空間の設計の詳細については、ホワイトペーパーの「[AWS IoT Coreの MQTT トピックの設計](https://docs.aws.amazon.com/whitepapers/latest/designing-mqtt-topics-aws-iot-core/designing-mqtt-topics-aws-iot-core.html)」を参照してください。

アプリケーションがメッセージを発行およびサブスクライブする方法の例については、[AWS IoT Core チュートリアルの開始方法](iot-gs.md) と [AWS IoT Device SDK、Mobile SDK、および AWS IoT Device Client](iot-sdks.md) から始めてください。

**重要**  
トピック名前空間は、 AWS アカウント および リージョンに制限されています。たとえば、あるリージョン AWS アカウント の で使用される`sensor/temp/room1`トピックは、別のリージョンの同じ AWS アカウントで使用されるトピック、または任意のリージョンの他のアカウントで使用される`sensor/temp/room1`トピックとは異なり AWS アカウント ます。

## トピック ARN
<a name="topicnames-arn"></a>

すべてのトピック ARN (Amazon リソースネーム) は、次のフォーマットを備えています。

```
arn:aws:iot:aws-region:AWS-account-ID:topic/Topic
```

例えば、`arn:aws:iot:us-west-2:123EXAMPLE456:topic/application/topic/device/sensor` はトピック ` application/topic/device/sensor` の ARN です。

## トピック名フィルター
<a name="topicfilters"></a>

サブスクライブするクライアントは、 メッセージブローカーにトピック名フィルターを登録して、メッセージブローカーがそのトピック名フィルターに送信する必要のあるメッセージトピックを指定します。トピック名フィルターは、単一のトピック名にサブスクライブする単一のトピック名にすることも、ワイルドカード文字を使用して複数のトピック名に同時にサブスクライブすることもできます。

発行するクライアントは、発行するトピック名にワイルドカード文字を使用できません。

次の表は、トピックフィルターで使用できるワイルドカード文字の一覧です。


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

| ワイルドカード文字 | マッチ | コメント | 
| --- | --- | --- | 
| \$1 | トピック階層内のそのレベル以下のすべての文字列。 |  トピックフィルターの最後の文字にする必要があります。 トピック階層のレベルで唯一の文字である必要があります。 \$1 ワイルドカード文字を含むトピックフィルターで使用できます。  | 
| \$1 | 文字を含むレベル内の任意の文字列。 |  トピック階層のレベルで唯一の文字である必要があります。 トピックフィルターの複数のレベルで使用できます。  | 

前述のセンサートピック名でのワイルドカードの使用例:
+ `sensor/#` へのサブスクリプションでは `sensor/`、`sensor/temperature`、`sensor/temperature/room1` にパブリッシュされたメッセージを受信しますが、`sensor` にパブリッシュされたメッセージは受信しません。
+ `sensor/+/room1` のサブスクリプションでは、`sensor/temperature/room1` および `sensor/humidity/room1` にパブリッシュされたメッセージを受信しますが、`sensor/temperature/room2` または `sensor/humidity/room2` に送信されたメッセージは受信しません。

### トピックフィルターの ARN
<a name="topicfilters-arn"></a>

すべてのトピックフィルター ARN (Amazon リソースネーム) は、次の形式になります。

```
arn:aws:iot:aws-region:AWS-account-ID:topicfilter/TopicFilter
```

例えば、`arn:aws:iot:us-west-2:123EXAMPLE456:topicfilter/application/topic/+/sensor` はトピックフィルター ` application/topic/+/sensor` の ARN です。

# MQTT メッセージペイロード
<a name="topicdata"></a>

MQTT メッセージで送信されるメッセージペイロードは、 の 1 つでない限り AWS IoT、 によって指定されません[予約済みトピック](reserved-topics.md)。アプリケーションのニーズに対応するため、[プロトコルのAWS IoT Core Service Quotas](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#iot-protocol-limits) の制約内でトピックのメッセージペイロードを定義することを推奨します。

メッセージペイロードに JSON 形式を使用すると、 AWS IoT ルールエンジンはメッセージを解析し、SQL クエリを適用できます。ルールエンジンがメッセージペイロードに SQL クエリを適用することをアプリケーションが必要としない場合は、アプリケーションで必要な任意のデータ形式を使用できます。SQL クエリで使用される JSON ドキュメントの制限事項と予約されている文字については、[JSON 拡張](iot-sql-json.md) を参照してください。

MQTT トピックとそれに対応するメッセージペイロードの設計の詳細については、「[AWS IoT Coreの MQTT トピックの設計](https://docs.aws.amazon.com/whitepapers/latest/designing-mqtt-topics-aws-iot-core/designing-mqtt-topics-aws-iot-core.html)」を参照してください。

メッセージサイズの限度がサービスクォータを超えると、理由 `PAYLOAD_LIMIT_EXCEEDED` の `CLIENT_ERROR` になり、「メッセージペイロードがメッセージタイプのサイズ限度を超えています」と表示されます。メッセージサイズ制限の詳細については、「[AWS IoT Core メッセージブローカーの限度とクォータ](https://docs.aws.amazon.com//general/latest/gr/iot-core.html#message-broker-limits.html)」を参照してください。

# 予約済みトピック
<a name="reserved-topics"></a>

ドル記号 (\$1) で始まるトピックは、 で使用するために予約されています AWS IoT。これらの予約済みトピックは、許可されているとおりにサブスクライブおよび発行できます。ただし、ドル記号で始まる新しいトピックを作成することはできません。予約済みトピックへのサポートされていないパブリッシュまたはサブスクライブオペレーションにより、接続が終了することがあります。

## アセットモデルのトピック
<a name="reserved-topics-other"></a>


| トピック | クライアントオペレーションを許可する | 説明 | 
| --- | --- | --- | 
|  \$1aws/sitewise/asset-models/*assetModelId*/assets/*assetId*/properties/*propertyId*  |  Subscribe  |  AWS IoT SiteWise は、このトピックにアセットプロパティ通知を発行します。詳細については、「 *AWS IoT SiteWise ユーザーガイド*[」の「他の AWS サービスとやり取り](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/interact-with-other-services.html)する」を参照してください。  | 

## AWS IoT Device Defender トピック
<a name="reserved-topics-device-defender"></a>

これらのメッセージは、トピックの*ペイロード形式*に応じて、簡潔なバイナリオブジェクト表現 (CBOR) 形式のレスポンスバッファと JavaScript Object Notation (JSON) をサポートします。 AWS IoT Device Defender トピックは MQTT パブリッシュのみをサポートします。


| *ペイロード形式* | レスポンス形式のデータ型 | 
| --- | --- | 
| cbor | 簡潔なバイナリオブジェクトの表現 (CCOR) | 
| json | JavaScript Object Notation (JSON) | 

詳細については、「[デバイスからのメトリクスの送信](https://docs.aws.amazon.com/iot-device-defender/latest/devguide/detect-device-side-metrics.html#DetectMetricsMessages)」を参照してください。


| Topic | 許可されている操作 | 説明 | 
| --- | --- | --- | 
|  \$1aws/things/*thingName*/defender/metrics/*payload-format*  |  発行  |  AWS IoT Device Defender エージェントはこのトピックにメトリクスを発行します。詳細については、「[デバイスからのメトリクスの送信](https://docs.aws.amazon.com/iot-device-defender/latest/devguide/detect-device-side-metrics.html#DetectMetricsMessages)」を参照してください。  | 
|  \$1aws/things/*thingName*/defender/metrics/*payload-format*/accepted  |  Subscribe  |  AWS IoT は、 AWS IoT Device Defender エージェントが成功したメッセージを \$1aws/things/*thingName*/defender/metrics/*payload-format* に発行した後、このトピックに発行します。詳細については、「[デバイスからのメトリクスの送信](https://docs.aws.amazon.com/iot-device-defender/latest/devguide/detect-device-side-metrics.html#DetectMetricsMessages)」を参照してください。  | 
|  \$1aws/things/*thingName*/defender/metrics/*payload-format*/rejected  |  Subscribe  |  AWS IoT は、 AWS IoT Device Defender エージェントが失敗したメッセージを \$1aws/things/*thingName*/defender/metrics/*payload-format* に発行した後に、このトピックに発行します。詳細については、「[デバイスからのメトリクスの送信](https://docs.aws.amazon.com/iot-device-defender/latest/devguide/detect-device-side-metrics.html#DetectMetricsMessages)」を参照してください。  | 

## AWS IoT Core デバイスの場所に関するトピック
<a name="reserved-topics-device-location"></a>

AWS IoT Core Device Location は、デバイスからの測定データを解決し、IoT デバイスの推定場所を提供できます。デバイスからの測定データには、GNSS、Wi-Fi、セルラー、IP アドレスを含めることができます。次に AWS IoT Core 、Device Location は、最高の精度を提供し、デバイスの位置情報を解決する測定タイプを選択します。詳細については、「[AWS IoT Core デバイスの場所](device-location.md)」および「[Device Location MQTT トピックを使用した AWS IoT Core デバイスロケーションの解決](device-location-reserved-topics.md)」を参照してください。


| Topic | 許可されている操作 | 説明 | 
| --- | --- | --- | 
|  \$1aws/device\$1location/*customer\$1device\$1id*/get\$1position\$1estimate  |  発行  |  デバイスは、このトピックに発行して、スキャンされた未加工の測定データを AWS IoT Core Device Location で解決します。  | 
|  \$1aws/device\$1location/*customer\$1device\$1id*/get\$1position\$1estimate/accepted  |  Subscribe  |  AWS IoT Core Device Location は、デバイスの場所が正常に解決されると、このトピックに発行されます。  | 
|  \$1aws/device\$1location/*customer\$1device\$1id*/get\$1position\$1estimate/rejected  |  Subscribe  |  AWS IoT Core Device Location は、4xx エラーが原因でデバイスの位置を正常に解決できない場合に、このトピックに発行されます。  | 

## イベントのトピック
<a name="reserved-topics-event"></a>

イベントメッセージは、特定のイベントが発生したときにを発行されます。例えば、モノが追加、更新、または削除されると、イベントがレジストリによって生成されます。この表は、さまざまな AWS IoT イベントとその予約済みトピックを示しています。


| Topic | クライアントオペレーションを許可する | 説明 | 
| --- | --- | --- | 
|  \$1aws/events/certificates/registered/*caCertificateId*  |  Subscribe  |  AWS IoT は、 が証明書 AWS IoT を自動的に登録し、クライアントが証明書を `PENDING_ACTIVATION`ステータスで提示すると、このメッセージを発行します。詳細については、「[自動登録のためのクライアントによる最初の接続の設定します](auto-register-device-cert.md#configure-auto-reg-first-connect)」を参照してください。  | 
|  \$1aws/events/job/*jobID*/canceled  |  Subscribe  | AWS IoT は、ジョブがキャンセルされたときにこのメッセージを発行します。詳細については、「[ジョブイベント](events-jobs.md)」を参照してください。 | 
| \$1aws/events/job/jobID/cancellation\$1in\$1progress |  Subscribe  | AWS IoT は、ジョブのキャンセルが進行中のときにこのメッセージを発行します。詳細については、「[ジョブイベント](events-jobs.md)」を参照してください。 | 
|  \$1aws/events/job/*jobID*/completed  |  Subscribe  | AWS IoT は、ジョブが完了するとこのメッセージを発行します。詳細については、「[ジョブイベント](events-jobs.md)」を参照してください。 | 
| \$1aws/events/job/jobID/deleted |  Subscribe  | AWS IoT は、ジョブが削除されるとこのメッセージを発行します。詳細については、「[ジョブイベント](events-jobs.md)」を参照してください。 | 
| \$1aws/events/job/jobID/deletion\$1in\$1progress |  Subscribe  | AWS IoT は、ジョブの削除が進行中のときにこのメッセージを発行します。詳細については、「[ジョブイベント](events-jobs.md)」を参照してください。 | 
| \$1aws/events/jobExecution/jobID/canceled |  Subscribe  | AWS IoT は、ジョブ実行がキャンセルされたときにこのメッセージを発行します。詳細については、「[ジョブイベント](events-jobs.md)」を参照してください。 | 
| \$1aws/events/jobExecution/jobID/deleted |  Subscribe  | AWS IoT は、ジョブ実行が削除されると、このメッセージを発行します。詳細については、「[ジョブイベント](events-jobs.md)」を参照してください。 | 
| \$1aws/events/jobExecution/jobID/failed |  Subscribe  | AWS IoT は、ジョブの実行が失敗したときにこのメッセージを発行します。詳細については、「[ジョブイベント](events-jobs.md)」を参照してください。 | 
| \$1aws/events/jobExecution/jobID/rejected |  Subscribe  | AWS IoT は、ジョブ実行が拒否されたときにこのメッセージを発行します。詳細については、「[ジョブイベント](events-jobs.md)」を参照してください。 | 
| \$1aws/events/jobExecution/jobID/removed |  Subscribe  | AWS IoT は、ジョブ実行が削除されたときにこのメッセージを発行します。詳細については、「[ジョブイベント](events-jobs.md)」を参照してください。 | 
| \$1aws/events/jobExecution/jobID/succeeded |  Subscribe  | AWS IoT は、ジョブの実行が成功したときにこのメッセージを発行します。詳細については、「[ジョブイベント](events-jobs.md)」を参照してください。 | 
| \$1aws/events/jobExecution/jobID/timed\$1out |  Subscribe  | AWS IoT は、ジョブ実行がタイムアウトしたときにこのメッセージを発行します。詳細については、「[ジョブイベント](events-jobs.md)」を参照してください。 | 
|  \$1aws/events/presence/connected/*clientId*  |  Subscribe  |  AWS IoT は、指定されたクライアント ID を持つ MQTT クライアントが接続するときに、このトピックに発行します AWS IoT。詳細については、「[接続/切断イベント](life-cycle-events.md#connect-disconnect)」を参照してください。  | 
|  \$1aws/events/presence/disconnected/*clientId*  |  Subscribe  |  AWS IoT は、指定されたクライアント ID を持つ MQTT クライアントが切断されると、このトピックに発行します AWS IoT。詳細については、「[接続/切断イベント](life-cycle-events.md#connect-disconnect)」を参照してください。  | 
|  \$1aws/events/subscriptions/subscribed/*clientId*  |  Subscribe  |  AWS IoT は、指定されたクライアント ID を持つ MQTT クライアントが MQTT トピックをサブスクライブするときに、このトピックに発行します。詳細については、「[サブスクライブ/サブスクライブ解除イベント](life-cycle-events.md#subscribe-unsubscribe-events)」を参照してください。  | 
|  \$1aws/events/subscriptions/unsubscribed/*clientId*  |  Subscribe  |  AWS IoT 指定されたクライアント ID を持つ MQTT クライアントが MQTT トピックへのサブスクライブを解除すると、 はこのトピックに発行します。詳細については、「[サブスクライブ/サブスクライブ解除イベント](life-cycle-events.md#subscribe-unsubscribe-events)」を参照してください。  | 
|  \$1aws/events/thing/*thingName*/created  |  Subscribe  |  AWS IoT *thingName* モノが作成されると、 はこのトピックに発行します。詳細については、「[登録イベント](registry-events.md)」を参照してください。  | 
|  \$1aws/events/thing/*thingName*/updated  |  Subscribe  |  AWS IoT *thingName* モノが更新されると、 はこのトピックに発行します。詳細については、「[登録イベント](registry-events.md)」を参照してください。  | 
|  \$1aws/events/thing/*thingName*/deleted  |  Subscribe  |  AWS IoT *thingName* モノが削除されると、 はこのトピックに発行します。詳細については、「[登録イベント](registry-events.md)」を参照してください。  | 
|  \$1aws/events/thingGroup/*thingGroupName*/created  |  Subscribe  |  AWS IoT モノのグループ *thingGroupName* が作成されると、 はこのトピックに発行します。詳細については、「[登録イベント](registry-events.md)」を参照してください。  | 
|  \$1aws/events/thingGroup/*thingGroupName*/updated  |  Subscribe  |  AWS IoT モノのグループ *thingGroupName* が更新されると、 はこのトピックに発行します。詳細については、「[登録イベント](registry-events.md)」を参照してください。  | 
|  \$1aws/events/thingGroup/*thingGroupName*/deleted  |  Subscribe  |  AWS IoT モノのグループ *thingGroupName* が削除されると、 はこのトピックに発行します。詳細については、「[登録イベント](registry-events.md)」を参照してください。  | 
|  \$1aws/events/thingType/*thingTypeName*/created  |  Subscribe  |  AWS IoT *thingTypeName* モノのタイプが作成されると、 はこのトピックに発行します。詳細については、「[登録イベント](registry-events.md)」を参照してください。  | 
|  \$1aws/events/thingType/*thingTypeName*/updated  |  Subscribe  |  AWS IoT *thingTypeName* モノのタイプが更新されると、 はこのトピックに発行します。詳細については、「[登録イベント](registry-events.md)」を参照してください。  | 
|  \$1aws/events/thingType/*thingTypeName*/deleted  |  Subscribe  |  AWS IoT *thingTypeName* モノのタイプが削除されると、 はこのトピックに発行します。詳細については、「[登録イベント](registry-events.md)」を参照してください。  | 
|  \$1aws/events/thingTypeAssociation/thing/*thingName*/*thingTypeName*  |  Subscribe  |  AWS IoT *thingName* が ThingTypeName のモノタイプと関連付けられているか、関連付けが解除されると、 はこのトピックに発行されます*thingTypeName*。詳細については、「[登録イベント](registry-events.md)」を参照してください。  | 
|  \$1aws/events/thingGroupMembership/thingGroup/*thingGroupName*/thing/*thingName*/added  |  Subscribe  |   AWS IoT *thingName* *thingGroupName*に追加されると、 はこのトピックに発行します。詳細については、「[登録イベント](registry-events.md)」を参照してください。  | 
|  \$1aws/events/thingGroupMembership/thingGroup/*thingGroupName*/thing/*thingName*/removed  |  Subscribe  |   AWS IoT *thingName* *thingGroupName*から削除されると、 はこのトピックに発行します。詳細については、「[登録イベント](registry-events.md)」を参照してください。  | 
|   \$1aws/events/thingGroupHierarchy/thingGroup/*parentThingGroupName*/childThingGroup/*childThingGroupName*/added  |  Subscribe  |   AWS IoT は、モノのグループ *childThingGroupName* がモノのグループ *parentThingGroupName* に追加されると、このトピックに発行します。詳細については、「[登録イベント](registry-events.md)」を参照してください。  | 
|   \$1aws/events/thingGroupHierarchy/thingGroup/*parentThingGroupName*/childThingGroup/*childThingGroupName*/removed  |  Subscribe  |   AWS IoT は、モノのグループ *childThingGroupName* がモノのグループ *parentThingGroupName* から削除されると、このトピックに発行します。詳細については、「[登録イベント](registry-events.md)」を参照してください。  | 

## フリートプロビジョニングのトピック
<a name="reserved-topics-fleet"></a>

**注記**  
この表の**「Receive**」というクライアントオペレーションは、クライアントがトピックをサブスクライブしているかどうかにかかわらず、リクエストしたクライアントに直接 AWS IoT 発行するトピックを示しています。クライアントは、応答メッセージにサブスクライブしていない場合でも、それらを受信する場合があることを想定する必要があります。これらの応答メッセージはメッセージブローカーを通過せず、他のクライアントまたはルールによってサブスクライブする事はできません。

これらのメッセージは、トピックの*ペイロード形式*に応じて、簡潔なバイナリオブジェクト表現 (CCOR) 形式および JavaScript Object Notation (JSON) 形式のレスポンスバッファをサポートします。


| *ペイロード形式* | レスポンス形式のデータ型 | 
| --- | --- | 
| cbor | 簡潔なバイナリオブジェクトの表現 (CCOR) | 
| json | JavaScript Object Notation (JSON) | 

詳細については、「[デバイスプロビジョニング MQTT API](fleet-provision-api.md)」を参照してください。


| トピック | クライアントオペレーションを許可する | 説明 | 
| --- | --- | --- | 
|  \$1aws/certificates/create/*payload-format*  |  発行  |  証明書署名リクエスト (CSR) から証明書を作成するには、このトピックに発行します。  | 
|  \$1aws/certificates/create/*payload-format*/accepted  |  サブスクライブ、受信  |  AWS IoT は、\$1aws/certificates/create/*payload-format* を正常に呼び出した後、このトピックに発行します。  | 
|  \$1aws/certificates/create/*payload-format*/rejected  |  サブスクライブ、受信  |  AWS IoT は、\$1aws/certificates/create/*payload-format* への呼び出しが失敗した後に、このトピックに発行します。  | 
|  \$1aws/certificates/create-from-csr/*payload-format*  |  発行  |  このトピックに発行して、CSR から証明書を作成します。  | 
|  \$1aws/certificates/create-from-csr/*payload-format*/accepted  |  サブスクライブ、受信  |  AWS IoT は、\$1aws/certificates/create-from-csr/*payload-format* への正常な呼び出しをこのトピックに発行します。  | 
|  \$1aws/certificates/create-from-csr/*payload-format*/rejected  | サブスクライブ、受信 |  AWS IoT は、このトピックに \$1aws/certificates/create-from-csr/*payload-format* への呼び出しに失敗しました。  | 
|  \$1aws/provisioning-templates/*templateName*/provision/*payload-format*  |  発行  |  モノを登録するには、このトピックに発行します。  | 
|  \$1aws/provisioning-templates/*templateName*/provision/*payload-format*/accepted  | サブスクライブ、受信 |  AWS IoT は、\$1aws/provisioning-templates/*templateName*/provision/*payload-format* を正常に呼び出した後、このトピックに発行します。  | 
|  \$1aws/provisioning-templates/*templateName*/provision/*payload-format*/rejected  |  サブスクライブ、受信  |  AWS IoT は、\$1aws/provisioning-templates/*templateName*/provision/*payload-format* への呼び出しが失敗した後に、このトピックに発行します。  | 

## ジョブのトピック
<a name="reserved-topics-job"></a>

**注記**  
この表の**「Receive**」というクライアントオペレーションは、クライアントがトピックをサブスクライブしているかどうかにかかわらず、リクエストしたクライアントに直接 AWS IoT 発行するトピックを示しています。クライアントは、応答メッセージにサブスクライブしていない場合でも、それらを受信する場合があることを想定する必要があります。  
これらの応答メッセージはメッセージブローカーを通過せず、他のクライアントまたはルールによってサブスクライブする事はできません。ジョブアクティビティ関連のメッセージをサブスクライブするには、`notify`および `notify-next`トピックを使用します。  
ジョブと`jobExecution`フリートモニタリングソリューション用のイベントトピックをサブスクライブする際は、まず[ジョブおよびジョブイベント](iot-events.md)を実行して、クラウド側でイベント受信する必要があります。  
詳細については、「[ジョブデバイス MQTT API オペレーション](jobs-mqtt-api.md)」を参照してください。


| トピック | クライアントオペレーションを許可する | 説明 | 
| --- | --- | --- | 
|  \$1aws/things/*thingName*/jobs/get  |  発行  |  デバイスは、このトピックにメッセージを発行して、`GetPendingJobExecutions`リクエストを実行します。詳細については、「[ジョブデバイス MQTT API オペレーション](jobs-mqtt-api.md)」を参照してください。  | 
|  \$1aws/things/*thingName*/jobs/get/accepted  |  サブスクライブ、受信  |  デバイスは、このトピックにサブスクライブして、`GetPendingJobExecutions` から正常なレスポンスを受け取ります。詳細については、「[ジョブデバイス MQTT API オペレーション](jobs-mqtt-api.md)」を参照してください。  | 
|  \$1aws/things/*thingName*/jobs/get/rejected  |  サブスクライブ、受信  |  `GetPendingJobExecutions` リクエストが拒否されると、デバイスはこのトピックをサブスクライブしてレスポンスを受け取ります。詳細については、「[ジョブデバイス MQTT API オペレーション](jobs-mqtt-api.md)」を参照してください。  | 
|  \$1aws/things/*thingName*/jobs/start-next  |  発行  |  デバイスは、このトピックにメッセージを発行して、`StartNextPendingJobExecution`リクエストを実行します。詳細については、「[ジョブデバイス MQTT API オペレーション](jobs-mqtt-api.md)」を参照してください。  | 
|  \$1aws/things/*thingName*/jobs/start-next/accepted  |  サブスクライブ、受信  |  デバイスは、このトピックをサブスクライブして、`StartNextPendingJobExecution`リクエストに対する正常なレスポンスを受け取ります。詳細については、「[ジョブデバイス MQTT API オペレーション](jobs-mqtt-api.md)」を参照してください。  | 
|  \$1aws/things/*thingName*/jobs/start-next/rejected  |  サブスクライブ、受信  |  `StartNextPendingJobExecution` リクエストが拒否されると、デバイスはこのトピックをサブスクライブしてレスポンスを受け取ります。詳細については、「[ジョブデバイス MQTT API オペレーション](jobs-mqtt-api.md)」を参照してください。  | 
|  \$1aws/things/*thingName*/jobs/*jobId*/get  |  発行  |  デバイスは、このトピックにメッセージを発行して、`DescribeJobExecution`リクエストを実行します。詳細については、「[ジョブデバイス MQTT API オペレーション](jobs-mqtt-api.md)」を参照してください。  | 
|  \$1aws/things/*thingName*/jobs/*jobId*/get/accepted  |  サブスクライブ、受信  |  デバイスは、このトピックをサブスクライブして、`DescribeJobExecution`リクエストに対する正常なレスポンスを受け取ります。詳細については、「[ジョブデバイス MQTT API オペレーション](jobs-mqtt-api.md)」を参照してください。  | 
|  \$1aws/things/*thingName*/jobs/*jobId*/get/rejected  |  サブスクライブ、受信  |  `DescribeJobExecution` リクエストが拒否されると、デバイスはこのトピックをサブスクライブしてレスポンスを受け取ります。詳細については、「[ジョブデバイス MQTT API オペレーション](jobs-mqtt-api.md)」を参照してください。  | 
|  \$1aws/things/*thingName*/jobs/*jobId*/update  |  発行  |  デバイスは、このトピックにメッセージをパブリッシュして、`UpdateJobExecution` リクエストを実行します。詳細については、「[ジョブデバイス MQTT API オペレーション](jobs-mqtt-api.md)」を参照してください。  | 
|  \$1aws/things/*thingName*/jobs/*jobId*/update/accepted  |  サブスクライブ、受信  |  デバイスは、このトピックにサブスクライブして、`UpdateJobExecution` リクエストに対する正常なレスポンスを受け取ります。詳細については、「[ジョブデバイス MQTT API オペレーション](jobs-mqtt-api.md)」を参照してください。  メモ \$1aws/things/*thingName*/jobs/*jobId*/update にパブリッシュするデバイスのみが、このトピックのメッセージを受信します。   | 
|  \$1aws/things/*thingName*/jobs/*jobId*/update/rejected  |  サブスクライブ、受信  |  `UpdateJobExecution` リクエストが拒否されると、デバイスはこのトピックをサブスクライブしてレスポンスを受け取ります。詳細については、「[ジョブデバイス MQTT API オペレーション](jobs-mqtt-api.md)」を参照してください。  メモ \$1aws/things/*thingName*/jobs/*jobId*/update にパブリッシュするデバイスのみが、このトピックのメッセージを受信します。   | 
|  \$1aws/things/*thingName*/jobs/notify  |  サブスクライブ、受信  |  デバイスは、このトピックにサブスクライブして、モノに対して保留中の実行のリストとの間でジョブの実行が追加または削除されたときに、通知を受け取ります。詳細については、「[ジョブデバイス MQTT API オペレーション](jobs-mqtt-api.md)」を参照してください。  | 
|  \$1aws/things/*thingName*/jobs/notify-next  |  サブスクライブ、受信  |  デバイスはこのトピックにサブスクライブして、モノに対する次に保留中のジョブの実行が変更されたときに、通知を受け取ります。詳細については、「[ジョブデバイス MQTT API オペレーション](jobs-mqtt-api.md)」を参照してください。  | 
|  \$1aws/events/job/*jobId*/completed  |  サブスクライブ  |  ジョブサービスは、ジョブが完了したときに、このトピックでイベントを発行します。詳細については、「[ジョブイベント](events-jobs.md)」を参照してください。  | 
|  \$1aws/events/job/*jobId*/canceled  |  サブスクライブ  |  ジョブサービスは、ジョブがキャンセルされたときに、このトピックでイベントを発行します。詳細については、「[ジョブイベント](events-jobs.md)」を参照してください。  | 
|  \$1aws/events/job/*jobId*/deleted   |  サブスクライブ  |  ジョブサービスは、ジョブが削除されたときに、このトピックでイベントを発行します。詳細については、「[ジョブイベント](events-jobs.md)」を参照してください。  | 
|  \$1aws/events/job/*jobId*/cancellation\$1in\$1progress   |  サブスクライブ  |  ジョブサービスは、ジョブのキャンセルが開始されたときに、このトピックでイベントを発行します。詳細については、「[ジョブイベント](events-jobs.md)」を参照してください。  | 
|  \$1aws/events/job/*jobId*/deletion\$1in\$1progress   |  サブスクライブ  |  ジョブサービスは、ジョブの削除が開始されたときに、イベントを発行します。詳細については、「[ジョブイベント](events-jobs.md)」を参照してください。  | 
|  \$1aws/events/jobExecution/*jobId*/succeeded   |  サブスクライブ  |  ジョブサービスは、ジョブの実行が成功したときに、このトピックでイベントを発行します。詳細については、「[ジョブイベント](events-jobs.md)」を参照してください。  | 
|  \$1aws/events/jobExecution/*jobId*/failed   |  サブスクライブ  |  ジョブサービスは、ジョブの実行が失敗したときにイベントを発行します。詳細については、「[ジョブイベント](events-jobs.md)」を参照してください。  | 
|  \$1aws/events/jobExecution/*jobId*/rejected   |  サブスクライブ  |  ジョブサービスは、ジョブの実行が拒否されたときに、このトピックでイベントを発行します。詳細については、「[ジョブイベント](events-jobs.md)」を参照してください。  | 
|  \$1aws/events/jobExecution/*jobId*/canceled   |  サブスクライブ  |  ジョブサービスは、ジョブの実行がキャンセルされたときに、このトピックでイベントを発行します。詳細については、「[ジョブイベント](events-jobs.md)」を参照してください。  | 
|  \$1aws/events/jobExecution/*jobId*/timed\$1out   |  サブスクライブ  |  ジョブサービスは、ジョブの実行がタイムアウトしたときに、このトピックでイベントを発行します。詳細については、「[ジョブイベント](events-jobs.md)」を参照してください。  | 
|  \$1aws/events/jobExecution/*jobId*/removed   |  サブスクライブ  |  ジョブサービスは、ジョブの実行が削除されたときに、このトピックでイベントを発行します。詳細については、「[ジョブイベント](events-jobs.md)」を参照してください。  | 
|  \$1aws/events/jobExecution/*jobId*/deleted   |  サブスクライブ  |  ジョブサービスは、ジョブの実行が削除されたときに、このトピックでイベントを発行します。詳細については、「[ジョブイベント](events-jobs.md)」を参照してください。  | 

## コマンドトのピック
<a name="reserved-topics-commands"></a>

**注記**  
この表の**「Receive**」というクライアントオペレーションは、クライアントがトピックをサブスクライブしているかどうかにかかわらず、リクエストしたクライアントに直接 AWS IoT 発行するトピックを示しています。クライアントは、応答メッセージにサブスクライブしていない場合でも、それらを受信する場合があることを想定する必要があります。  
これらの応答メッセージはメッセージブローカーを通過せず、他のクライアントまたはルールによってサブスクライブする事はできません。


| Topic | クライアントオペレーションを許可する | 説明 | 
| --- | --- | --- | 
|  \$1aws/commands/*<devices>*/*<DeviceID>*/executions/*<ExecutionId>*/request/*<PayloadFormat>* \$1aws/commands/*<devices>*/*<DeviceID>*/executions/*<ExecutionId>*/request  |  サブスクライブ、受信  |  コンソールまたは `StartCommandExecution` API を使用してコマンド実行を開始するリクエストが行われると、デバイスはこのトピックに関するメッセージを受信します。この場合、*<devices>* には IoT のモノまたは MQTT クライアントのいずれかを指定することができ、*<DeviceID>* には IoT モノ名または MQTT クライアント ID を指定できます。  | 
|  \$1aws/commands/*<devices>*/*<DeviceID>*/executions/*<ExecutionId>*/response/*<PayloadFormat>*  |  発行  |  デバイスは `UpdateCommandExecution` MQTT API を使用して、コマンド実行に関するメッセージをこのトピックに発行します。メッセージは、コンソールまたは `StartCommandExecution` API を使用してコマンド実行を開始するリクエストへのレスポンスとして発行されます。発行されたメッセージで、JSON または CBOR を *<PayloadFormat>* として使用します。  | 
|  \$1aws/commands/*<devices>*/*<DeviceID>*/executions/*<ExecutionId>*/response/accepted/*<PayloadFormat>* \$1aws/commands/*<devices>*/*<DeviceID>*/executions/*<ExecutionId>*/response/accepted  |  サブスクライブ、受信  |  クラウドサービスでコマンド実行結果が正常に処理されると、 AWS IoT Device Management は /accepted トピックにレスポンスを発行します。  | 
|  \$1aws/commands/*<devices>*/*<DeviceID>*/executions/*<ExecutionId>*/response/rejected/*<PayloadFormat>* \$1aws/commands/*<devices>*/*<DeviceID>*/executions/*<ExecutionId>*/response/rejected  |  発行  |  クラウドサービスでコマンド実行結果の処理が失敗した場合、 AWS IoT Device Management は /rejected トピックにレスポンスを発行します。  | 

## ルールのトピック
<a name="reserved-topics-rule"></a>


| トピック | クライアントオペレーションを許可する | 説明 | 
| --- | --- | --- | 
|  \$1aws/rules/*ruleName*  |  発行  |  デバイスまたはアプリケーションは、このトピックに発行して、ルールを直接トリガーします。詳細については、「[基本的な取り込みによるメッセージングコストの削減](iot-basic-ingest.md)」を参照してください。  | 

## セキュアトンネリングのトピック
<a name="reserved-topics-secure"></a>


| トピック | クライアントオペレーションを許可する | 説明 | 
| --- | --- | --- | 
|  \$1aws/things/*thing-name*/tunnels/notify  |  Subscribe  |   AWS IoT は、このメッセージを IoT エージェントに発行して、リモートデバイスでローカルプロキシを開始します。詳細については、「[IoT エージェントスニペット](configure-remote-device.md#agent-snippet)」を参照してください。  | 

## シャドウトピック
<a name="reserved-topics-shadow"></a>

このセクションのトピックは、名前付きシャドウと名前のないシャドウで使用されます。それぞれで使用されるトピックは、トピックのプレフィックスでのみ異なります。この表は、各シャドウタイプで使用されるトピックのプレフィックスを示しています。


| *ShadowTopicPrefix* 値 | シャドウタイプ | 
| --- | --- | 
| \$1aws/things/thingName/shadow | 名前のない (クラシック) シャドウ | 
| \$1aws/things/thingName/shadow/name/shadowName | 名前付きシャドウ | 

完全なトピックを作成するには、次の表に示すように、参照するシャドウのタイプの *ShadowTopicPrefix* を選択し、*thingName* と、*shadowName* (該当する場合) を対応する値に置き換え、トピックスタブに追加します。トピックでは大文字と小文字が区別されることに注意してください。


| トピック | クライアントオペレーションを許可する | 説明 | 
| --- | --- | --- | 
|  *ShadowTopicPrefix*/delete  |  パブリッシュ/サブスクライブ  |  デバイスまたはアプリケーションは、このトピックにパブリッシュして、シャドウを削除します。詳細については、「[/delete](device-shadow-mqtt.md#delete-pub-sub-topic)」を参照してください。  | 
|  *ShadowTopicPrefix*/delete/accepted  |  サブスクライブ  |  Device Shadow サービスは、シャドウが削除されると、このトピックにメッセージを送信します。詳細については、「[/delete/accepted](device-shadow-mqtt.md#delete-accepted-pub-sub-topic)」を参照してください。  | 
|  *ShadowTopicPrefix*/delete/rejected  |  サブスクライブ  |  Device Shadow サービスは、シャドウの削除リクエストが拒否されると、このトピックにメッセージを送信します。詳細については、「[/delete/rejected](device-shadow-mqtt.md#delete-rejected-pub-sub-topic)」を参照してください。  | 
|  *ShadowTopicPrefix*/get  |  パブリッシュ/サブスクライブ  |  アプリケーションまたはモノは、このトピックに空のメッセージをパブリッシュして、Shadow を取得します。詳細については、「[Device Shadow MQTT トピック](device-shadow-mqtt.md)」を参照してください。  | 
|  *ShadowTopicPrefix*/get/accepted  |  サブスクライブ  |  Device Shadow サービスは、シャドウに対するリクエストが正常に行われると、このトピックにメッセージを送信します。詳細については、「[/get/accepted](device-shadow-mqtt.md#get-accepted-pub-sub-topic)」を参照してください。  | 
|  *ShadowTopicPrefix*/get/rejected  |  サブスクライブ  |  Device Shadow サービスは、シャドウのリクエストが拒否されると、このトピックにメッセージを送信します。詳細については、「[/get/rejected](device-shadow-mqtt.md#get-rejected-pub-sub-topic)」を参照してください。  | 
|  *ShadowTopicPrefix*/update  |  パブリッシュ/サブスクライブ  |  モノまたはアプリケーションは、このトピックにパブリッシュして、Shadow を更新します。詳細については、「[/update](device-shadow-mqtt.md#update-pub-sub-topic)」を参照してください。  | 
|  *ShadowTopicPrefix*/update/accepted  |  サブスクライブ  |  Device Shadow サービスは、シャドウに対する更新が正常に行われると、このトピックにメッセージを送信します。詳細については、「[/update/accepted](device-shadow-mqtt.md#update-accepted-pub-sub-topic)」を参照してください。  | 
|  *ShadowTopicPrefix*/update/rejected  |  サブスクライブ  |  Device Shadow サービスは、シャドウに対する更新が拒否されると、このトピックにメッセージを送信します。詳細については、「[/update/rejected](device-shadow-mqtt.md#update-rejected-pub-sub-topic)」を参照してください。  | 
|  *ShadowTopicPrefix*/update/delta  |  サブスクライブ  |  Device Shadow サービスは、シャドウの reported セクションと desired セクションとの間で差分が検出されると、このトピックにメッセージを送信します。詳細については、「[/update/delta](device-shadow-mqtt.md#update-delta-pub-sub-topic)」を参照してください。  | 
|  *ShadowTopicPrefix*/update/documents  |  Subscribe  |  AWS IoT シャドウの更新が正常に実行されるたびに、 はこのトピックに状態ドキュメントを発行します。詳細については、「[/update/documents](device-shadow-mqtt.md#update-documents-pub-sub-topic)」を参照してください。  | 

## MQTT ベースのファイル配信のトピック
<a name="reserved-topics-mqtt-based-file-delivery"></a>

**注記**  
この表の**「Receive**」というクライアントオペレーションは、クライアントがトピックをサブスクライブしているかどうかにかかわらず、リクエストしたクライアントに直接 AWS IoT 発行するトピックを示しています。クライアントは、応答メッセージにサブスクライブしていない場合でも、それらを受信する場合があることを想定する必要があります。これらの応答メッセージはメッセージブローカーを通過せず、他のクライアントまたはルールによってサブスクライブする事はできません。

これらのメッセージは、トピックの*ペイロード形式*に応じて、簡潔なバイナリオブジェクト表現 (CCOR) 形式および JavaScript Object Notation (JSON) 形式のレスポンスバッファをサポートします。


| *ペイロード形式* | レスポンス形式のデータ型 | 
| --- | --- | 
| cbor | 簡潔なバイナリオブジェクトの表現 (CCOR) | 
| json | JavaScript Object Notation (JSON) | 


| トピック | クライアントオペレーションを許可する | 説明 | 
| --- | --- | --- | 
|  \$1aws/things/*ThingName*/streams/*StreamId*/data/*payload-format*  |  サブスクライブ、受信  |  AWS デバイスからのGetStream」リクエストが受け入れられた場合、MQTT ベースのファイル配信はこのトピックに発行されます。ペイロードにはストリーミングデータが含まれます。詳細については、「[デバイスで AWS IoT の MQTT ベースのファイル配信の使用](mqtt-based-file-delivery-in-devices.md)」を参照してください。  | 
|  \$1aws/things/*ThingName*/streams/*StreamId*/get/*payload-format*  |  発行  |  デバイスは、このトピックに発行して、「GetStream」リクエストを実行します。詳細については、「[デバイスで AWS IoT の MQTT ベースのファイル配信の使用](mqtt-based-file-delivery-in-devices.md)」を参照してください。  | 
|  \$1aws/things/*ThingName*/streams/*StreamId*/description/*payload-format*  |  サブスクライブ、受信  |  AWS デバイスからのDescribeStream」リクエストが受け入れられた場合、MQTT ベースのファイル配信はこのトピックに発行されます。ペイロードには、ストリーミングの説明が含まれます。詳細については、「[デバイスで AWS IoT の MQTT ベースのファイル配信の使用](mqtt-based-file-delivery-in-devices.md)」を参照してください。  | 
|  \$1aws/things/*ThingName*/streams/*StreamId*/describe/*payload-format*  |  発行  |  デバイスは、このトピックに発行して、「DescribeStream」リクエストを実行します。詳細については、「[デバイスで AWS IoT の MQTT ベースのファイル配信の使用](mqtt-based-file-delivery-in-devices.md)」を参照してください。  | 
|  \$1aws/things/*ThingName*/streams/*StreamId*/rejected/*payload-format*  |  サブスクライブ、受信  |  AWS MQTT ベースのファイル配信は、デバイスからのDescribeStream」またはGetStream」リクエストが拒否された場合に、このトピックに発行されます。詳細については、「[デバイスで AWS IoT の MQTT ベースのファイル配信の使用](mqtt-based-file-delivery-in-devices.md)」を参照してください。  | 

## 予約済みトピック ARN
<a name="reserved-topicnames-arn"></a>

すべての予約済みトピック ARN (Amazon リソースネーム) は、次の形式です。

```
arn:aws:iot:aws-region:AWS-account-ID:topic/Topic
```

例えば、`arn:aws:iot:us-west-2:123EXAMPLE456:topic/$aws/things/thingName/jobs/get/accepted` は予約済みトピック `$aws/things/thingName/jobs/get/accepted` の ARN です。