

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

# MQTT 主題
<a name="topics"></a>

MQTT 主題識別 AWS IoT message. AWS IoT clients 透過提供訊息主題名稱來識別他們發佈的訊息。用戶端能透過用 AWS IoT Core註冊主題篩選條件，來識別想要訂閱 (接收) 的簡訊。訊息代理程式使用主題名稱和主題篩選條件，將訊息從發佈用戶端路由至訂閱用戶端。

訊息代理程式會使用主題來識別使用 MQTT 傳送和使用 HTTP 傳送至 [HTTPS 訊息 URL](http.md#httpurl) 的訊息

雖然 AWS IoT 支援某些[預留系統主題](reserved-topics.md)，但大多數 MQTT 主題都是由您建立和管理，System designer. AWS IoT uses 主題可用來識別從發佈用戶端接收的訊息，並選取要傳送給訂閱用戶端的訊息，如以下章節所述。為您的系統建立主題命名空間之前，請檢閱 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 裝置SDKs、行動SDKs和 AWS IoT 裝置用戶端](iot-sdks.md) 開始。

**重要**  
主題命名空間僅限於 AWS 帳戶 和 區域。例如， AWS 帳戶 一個區域中的 所使用的`sensor/temp/room1`主題與另一個區域中相同 AWS 帳戶所使用的主題，或任何 AWS 帳戶 區域中的任何其他帳戶所使用的`sensor/temp/room1`主題不同。

## ARN 主題
<a name="topicnames-arn"></a>

所有主題 ARN (Amazon Resource Names) 都具有以下形式：

```
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 Resource Names) 都具有以下形式：

```
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>

除非是針對其中一個 AWS IoT，否則 MQTT 訊息中傳送的訊息承載不會由 指定[預留主題](reserved-topics.md)。為了滿足您的應用程式的需求，我們建議您在[通訊協定的AWS IoT Core 服務配額](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#iot-protocol-limits)限制範圍內定義主題的訊息承載。

為您的訊息承載使用 JSON 格式，可讓 AWS IoT 規則引擎剖析您的訊息，並將 SQL 查詢套用至其中。如果您的應用程式不需要規則引擎將 SQL 查詢套用至訊息承載，您可以使用應用程式需要的任何資料格式。如需 JSON 文件 (使用於 SQL 查詢) 的限制和預留字元的相關資訊，請參閱 [JSON Extensions](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)。

如果訊息大小限制超過了服務配額，則會導致 `CLIENT_ERROR`，原因為 `PAYLOAD_LIMIT_EXCEEDED`，並顯示 Message payload exceeds size limit for message type (訊息承載超過訊息類型的大小限制)。如需訊息大小限制的詳細資訊，請參閱 [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>


| 主題 | 允許的用戶端操作 | Description | 
| --- | --- | --- | 
|  \$1aws/sitewise/asset-models/*assetModelId*/assets/*assetId*/properties/*propertyId*  |  訂閱  |  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 物件表示法 (JSON) 的回應緩衝區，具體取決於 topic. AWS IoT Device Defender topics *的承載格式*，僅支援 MQTT 發佈。


| *承載格式* | 回應格式資料類型 | 
| --- | --- | 
| cbor | Concise Binary Object Representation (CBOR) | 
| json | JavaScript 物件標記法 (JSON) | 

如需詳細資訊，請參閱[從裝置傳送指標](https://docs.aws.amazon.com/iot-device-defender/latest/devguide/detect-device-side-metrics.html#DetectMetricsMessages)。


| 主題 | 允許操作 | Description | 
| --- | --- | --- | 
|  \$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  |  訂閱  |  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  |  訂閱  |  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)及[使用裝置位置 MQTT 主題解決 AWS IoT Core 裝置位置](device-location-reserved-topics.md)。


| 主題 | 允許操作 | Description | 
| --- | --- | --- | 
|  \$1aws/device\$1location/*customer\$1device\$1id*/get\$1position\$1estimate  |  發布  |  裝置會發佈至此主題，以取得 AWS IoT Core 裝置位置要解析的掃描原始測量資料。  | 
|  \$1aws/device\$1location/*customer\$1device\$1id*/get\$1position\$1estimate/accepted  |  訂閱  |  AWS IoT Core 裝置位置成功解析裝置位置後，會發佈至此主題。  | 
|  \$1aws/device\$1location/*customer\$1device\$1id*/get\$1position\$1estimate/rejected  |  訂閱  |  AWS IoT Core 當裝置位置因 4xx 錯誤而無法成功解析裝置位置時，裝置位置會發佈至此主題。  | 

## 事件主題
<a name="reserved-topics-event"></a>

當發生特定事件時，會發佈事件訊息。例如，在新增、更新或刪除事物時，由登錄檔產生的事件。資料表顯示各種 AWS IoT 事件及其預留主題。


| 主題 | 允許的用戶端操作 | Description | 
| --- | --- | --- | 
|  \$1aws/events/certificates/registered/*caCertificateId*  |  訂閱  |  AWS IoT 當 AWS IoT 自動註冊憑證，以及當用戶端呈現`PENDING_ACTIVATION`狀態為 的憑證時， 會發佈此訊息。如需詳細資訊，請參閱[設定用戶端的首次連線進行自動註冊](auto-register-device-cert.md#configure-auto-reg-first-connect)。  | 
|  \$1aws/events/job/*jobID*/canceled  |  訂閱  | AWS IoT 會在任務取消時發佈此訊息。如需詳細資訊，請參閱[任務事件](events-jobs.md)。 | 
| \$1aws/events/job/jobID/cancellation\$1in\$1progress |  訂閱  | AWS IoT 會在任務取消進行中時發佈此訊息。如需詳細資訊，請參閱[任務事件](events-jobs.md)。 | 
|  \$1aws/events/job/*jobID*/completed  |  訂閱  | AWS IoT 當任務完成時， 會發佈此訊息。如需詳細資訊，請參閱[任務事件](events-jobs.md)。 | 
| \$1aws/events/job/jobID/deleted |  訂閱  | AWS IoT 會在刪除任務時發佈此訊息。如需詳細資訊，請參閱[任務事件](events-jobs.md)。 | 
| \$1aws/events/job/jobID/deletion\$1in\$1progress |  訂閱  | AWS IoT 會在任務刪除進行中時發佈此訊息。如需詳細資訊，請參閱[任務事件](events-jobs.md)。 | 
| \$1aws/events/jobExecution/jobID/canceled |  訂閱  | AWS IoT 會在任務執行取消時發佈此訊息。如需詳細資訊，請參閱[任務事件](events-jobs.md)。 | 
| \$1aws/events/jobExecution/jobID/deleted |  訂閱  | AWS IoT 會在刪除任務執行時發佈此訊息。如需詳細資訊，請參閱[任務事件](events-jobs.md)。 | 
| \$1aws/events/jobExecution/jobID/failed |  訂閱  | AWS IoT 當任務執行失敗時， 會發佈此訊息。如需詳細資訊，請參閱[任務事件](events-jobs.md)。 | 
| \$1aws/events/jobExecution/jobID/rejected |  訂閱  | AWS IoT 當任務執行遭拒時， 會發佈此訊息。如需詳細資訊，請參閱[任務事件](events-jobs.md)。 | 
| \$1aws/events/jobExecution/jobID/removed |  訂閱  | AWS IoT 會在任務執行移除時發佈此訊息。如需詳細資訊，請參閱[任務事件](events-jobs.md)。 | 
| \$1aws/events/jobExecution/jobID/succeeded |  訂閱  | AWS IoT 當任務執行成功時， 會發佈此訊息。如需詳細資訊，請參閱[任務事件](events-jobs.md)。 | 
| \$1aws/events/jobExecution/jobID/timed\$1out |  訂閱  | AWS IoT 當任務執行逾時時， 會發佈此訊息。如需詳細資訊，請參閱[任務事件](events-jobs.md)。 | 
|  \$1aws/events/presence/connected/*clientId*  |  訂閱  |  AWS IoT 當具有指定用戶端 ID 的 MQTT 用戶端連線到此主題時， 會發佈至此主題 AWS IoT。如需詳細資訊，請參閱[連線/中斷連線事件](life-cycle-events.md#connect-disconnect)。  | 
|  \$1aws/events/presence/disconnected/*clientId*  |  訂閱  |  AWS IoT 當具有指定用戶端 ID 的 MQTT 用戶端中斷連線時， 會發佈至此主題 AWS IoT。如需詳細資訊，請參閱[連線/中斷連線事件](life-cycle-events.md#connect-disconnect)。  | 
|  \$1aws/events/subscriptions/subscribed/*clientId*  |  訂閱  |  AWS IoT 當具有指定用戶端 ID 的 MQTT 用戶端訂閱 MQTT 主題時， 會發佈至此主題。如需詳細資訊，請參閱[訂閱/取消訂閱事件](life-cycle-events.md#subscribe-unsubscribe-events)。  | 
|  \$1aws/events/subscriptions/unsubscribed/*clientId*  |  訂閱  |  AWS IoT 當具有指定用戶端 ID 的 MQTT 用戶端取消訂閱 MQTT 主題時， 會發佈至此主題。如需詳細資訊，請參閱[訂閱/取消訂閱事件](life-cycle-events.md#subscribe-unsubscribe-events)。  | 
|  \$1aws/events/thing/*thingName*/created  |  訂閱  |  AWS IoT 會在建立 *thingName* 物件時發佈至此主題。如需詳細資訊，請參閱[登錄檔事件](registry-events.md)。  | 
|  \$1aws/events/thing/*thingName*/updated  |  訂閱  |  AWS IoT 當 *thingName* 物件更新時， 會發佈至此主題。如需詳細資訊，請參閱[登錄檔事件](registry-events.md)。  | 
|  \$1aws/events/thing/*thingName*/deleted  |  訂閱  |  AWS IoT 刪除 *thingName* 物件時， 會發佈至此主題。如需詳細資訊，請參閱[登錄檔事件](registry-events.md)。  | 
|  \$1aws/events/thingGroup/*thingGroupName*/created  |  訂閱  |  AWS IoT 會在物件群組 *thingGroupName* 建立時發佈至此主題。如需詳細資訊，請參閱[登錄檔事件](registry-events.md)。  | 
|  \$1aws/events/thingGroup/*thingGroupName*/updated  |  訂閱  |  AWS IoT 當物件群組 *thingGroupName* 更新時， 會發佈至此主題。如需詳細資訊，請參閱[登錄檔事件](registry-events.md)。  | 
|  \$1aws/events/thingGroup/*thingGroupName*/deleted  |  訂閱  |  AWS IoT 當刪除物件群組 *thingGroupName* 時， 會發佈至此主題。如需詳細資訊，請參閱[登錄檔事件](registry-events.md)。  | 
|  \$1aws/events/thingType/*thingTypeName*/created  |  訂閱  |  AWS IoT 會在建立 *thingTypeName* 物件類型時發佈至此主題。如需詳細資訊，請參閱[登錄檔事件](registry-events.md)。  | 
|  \$1aws/events/thingType/*thingTypeName*/updated  |  訂閱  |  AWS IoT 當 *thingTypeName* 物件類型更新時， 會發佈至此主題。如需詳細資訊，請參閱[登錄檔事件](registry-events.md)。  | 
|  \$1aws/events/thingType/*thingTypeName*/deleted  |  訂閱  |  AWS IoT 刪除 *thingTypeName* 物件類型時， 會發佈至此主題。如需詳細資訊，請參閱[登錄檔事件](registry-events.md)。  | 
|  \$1aws/events/thingTypeAssociation/thing/*thingName*/*thingTypeName*  |  訂閱  |  AWS IoT 當 物件 *thingName*與物件類型 *thingTypeName* 相關聯或取消關聯時， 會發佈至此主題。如需詳細資訊，請參閱[登錄檔事件](registry-events.md)。  | 
|  \$1aws/events/thingGroupMembership/thingGroup/*thingGroupName*/thing/*thingName*/added  |  訂閱  |   AWS IoT 當 物件 *thingName* 新增至物件群組 *thingGroupName* 時， 會發佈至此主題。如需詳細資訊，請參閱[登錄檔事件](registry-events.md)。  | 
|  \$1aws/events/thingGroupMembership/thingGroup/*thingGroupName*/thing/*thingName*/removed  |  訂閱  |   AWS IoT 從物件群組 *thingName* *thingGroupName* 時， 會發佈至此主題。如需詳細資訊，請參閱[登錄檔事件](registry-events.md)。  | 
|   \$1aws/events/thingGroupHierarchy/thingGroup/*parentThingGroupName*/childThingGroup/*childThingGroupName*/added  |  訂閱  |   AWS IoT 當物件群組 *childThingGroupName* 新增至物件群組 *parentThingGroupName* 時， 會發佈至此主題。如需詳細資訊，請參閱[登錄檔事件](registry-events.md)。  | 
|   \$1aws/events/thingGroupHierarchy/thingGroup/*parentThingGroupName*/childThingGroup/*childThingGroupName*/removed  |  訂閱  |   AWS IoT 當物件群組 *childThingGroupName* 從物件群組 *parentThingGroupName* 中移除時， 會發佈至此主題。如需詳細資訊，請參閱[登錄檔事件](registry-events.md)。  | 

## 機群佈建主題
<a name="reserved-topics-fleet"></a>

**注意**  
此表格中標記為**接收**的用戶端操作指出直接 AWS IoT 發佈到請求它的用戶端的主題，無論用戶端是否已訂閱主題。即使用戶端尚未訂閱回應訊息，也應該預期會收到這些訊息。這些回應訊息不會透過訊息代理程式傳遞，而且其他用戶端或規則無法訂閱這些訊息。

這些訊息支援 Concise Binary Object Representation (CBOR) 格式和 JavaScript 物件標記法 (JSON) 的回應緩衝區，具體取決於主題的*承載格式*。


| *承載格式* | 回應格式資料類型 | 
| --- | --- | 
| cbor | Concise Binary Object Representation (CBOR) | 
| json | JavaScript 物件標記法 (JSON) | 

如需詳細資訊，請參閱[裝置佈建 MQTT API](fleet-provision-api.md)。


| 主題 | 允許的用戶端操作 | Description | 
| --- | --- | --- | 
|  \$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>

**注意**  
此表格中標記為**接收**的用戶端操作指出直接 AWS IoT 發佈到請求它的用戶端的主題，無論用戶端是否已訂閱主題。即使用戶端尚未訂閱回應訊息，也應該預期會收到這些訊息。  
這些回應訊息不會透過訊息代理程式傳遞，而且其他用戶端或規則無法訂閱這些訊息。若要訂閱任務活動相關訊息，請使用 `notify` 和 `notify-next` 主題。  
為機群監控解決方案訂閱任務和 `jobExecution` 事件主題時，您必須先啟用[任務和任務執行事件](iot-events.md)來接收雲端上的任何事件。  
如需詳細資訊，請參閱[任務裝置 MQTT API 操作](jobs-mqtt-api.md)。


| 主題 | 允許的用戶端操作 | Description | 
| --- | --- | --- | 
|  \$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>

**注意**  
此表格中標記為**接收**的用戶端操作指出直接 AWS IoT 發佈到請求它的用戶端的主題，無論用戶端是否已訂閱主題。即使用戶端尚未訂閱回應訊息，也應該預期會收到這些訊息。  
這些回應訊息不會透過訊息代理程式傳遞，而且其他用戶端或規則無法訂閱這些訊息。


| 主題 | 允許的用戶端操作 | Description | 
| --- | --- | --- | 
|  \$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 發佈至 /接受的主題。  | 
|  \$1aws/commands/*<devices>*/*<DeviceID>*/executions/*<ExecutionId>*/response/rejected/*<PayloadFormat>* \$1aws/commands/*<devices>*/*<DeviceID>*/executions/*<ExecutionId>*/response/rejected  |  發布  |  如果雲端服務無法處理命令執行結果， 會將回應 AWS IoT Device Management 發佈至 /拒絕主題。  | 

## 規則主題
<a name="reserved-topics-rule"></a>


| 主題 | 允許的用戶端操作 | Description | 
| --- | --- | --- | 
|  \$1aws/rules/*ruleName*  |  發布  |  裝置或應用程式會發佈至此主題，以直接觸發規則。如需詳細資訊，請參閱[使用基本擷取減少簡訊費用](iot-basic-ingest.md)。  | 

## 安全通道主題
<a name="reserved-topics-secure"></a>


| 主題 | 允許的用戶端操作 | Description | 
| --- | --- | --- | 
|  \$1aws/things/*thing-name*/tunnels/notify  |  訂閱  |   AWS IoT 會發佈此訊息，讓 IoT 代理程式在遠端裝置上啟動本機代理。如需詳細資訊，請參閱[IoT Agent Snippet](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* (如果適用)，並使用其對應的值，然後將其附加到主題 stub，如下表所示。請記住，主題會區分大小寫。


| 主題 | 允許的用戶端操作 | Description | 
| --- | --- | --- | 
|  *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  |  發佈/訂閱  |  應用程式或物件會發佈空白訊息至此主題，以取得影子。如需詳細資訊，請參閱[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  |  發佈/訂閱  |  物件或應用程式會發佈至此主題，以更新影子。如需詳細資訊，請參閱 [/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 服務會傳送訊息至此主題。如需詳細資訊，請參閱 [/update/delta](device-shadow-mqtt.md#update-delta-pub-sub-topic)。  | 
|  *ShadowTopicPrefix*/update/documents  |  訂閱  |  AWS IoT 每當成功執行影子更新時， 就會發佈狀態文件至此主題。如需詳細資訊，請參閱 [/update/documents](device-shadow-mqtt.md#update-documents-pub-sub-topic)。  | 

## MQTT 型檔案交付主題
<a name="reserved-topics-mqtt-based-file-delivery"></a>

**注意**  
此表格中標記為**接收**的用戶端操作指出直接 AWS IoT 發佈到請求它的用戶端的主題，無論用戶端是否已訂閱主題。即使用戶端尚未訂閱回應訊息，也應該預期會收到這些訊息。這些回應訊息不會透過訊息代理程式傳遞，而且其他用戶端或規則無法訂閱這些訊息。

這些訊息支援 Concise Binary Object Representation (CBOR) 格式和 JavaScript 物件標記法 (JSON) 的回應緩衝區，具體取決於主題的*承載格式*。


| *承載格式* | 回應格式資料類型 | 
| --- | --- | 
| cbor | Concise Binary Object Representation (CBOR) | 
| json | JavaScript 物件標記法 (JSON) | 


| 主題 | 允許的用戶端操作 | Description | 
| --- | --- | --- | 
|  \$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 如果來自裝置的「DescribeStream」或「GetStream」請求遭到拒絕，則 MQTT 型檔案交付會發佈至此主題。如需詳細資訊，請參閱[在裝置中使用 AWS IoT MQTT 型檔案交付](mqtt-based-file-delivery-in-devices.md)。  | 

## 預留的主題 ARN
<a name="reserved-topicnames-arn"></a>

所有預留的主題 ARN (Amazon Resource Names) 都具有以下形式：

```
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。