

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

# 影子
<a name="device-advisor-tests-shadow"></a>

使用這些測試來驗證待測裝置是否正確使用 AWS IoT Device Shadow 服務。如需詳細資訊，請參閱 [AWS IoT Device Shadow 服務](iot-device-shadows.md)。如果這些測試案例是在您的測試套件中設定，則在啟動套件執行時需要提供一個物件。

目前不支援 **MQTT over WebSocket**。

## 發布
<a name="publish"></a>

***「裝置在連接後發佈狀態 (Happy 案例)」***  
驗證裝置是否可以在連線至 後發佈其狀態 AWS IoT Core  
*API 測試案例定義：*  
`EXECUTION_TIMEOUT` 的預設值為 5 分鐘。我們建議的逾時值為 2 分鐘。

```
"tests":[
   {
      "name":"my_shadow_publish_reported_state",
      "configuration": {
         // optional:
         "EXECUTION_TIMEOUT":"300", // in seconds
         "SHADOW_NAME": "SHADOW_NAME",
         "REPORTED_STATE": {
            "STATE_ATTRIBUTE": "STATE_VALUE"
         }
      },
      "test":{
         "id":"Shadow_Publish_Reported_State",
         "version":"0.0.0"
      }
   }
]
```
可以提供 `REPORTED_STATE`，以在您的裝置連接之後，對其確切的影子狀態進行額外驗證。根據預設，此測試案例會驗證您的裝置發佈狀態。  
如果未提供 `SHADOW_NAME`，則測試案例會依預設尋找發佈至未具名 (傳統) 影子類型之主題字首的訊息。如果您的裝置使用具名影子類型，請提供影子名稱。如需詳細資訊，請參閱[在裝置中使用影子](https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-comms-device.html)。

## 更新
<a name="update"></a>

***「裝置將回報狀態更新為所需狀態 (Happy 案例)」***  
驗證您的裝置是否讀取所有收到的更新訊息，並同步處理裝置的狀態以符合所需的狀態屬性。您的裝置應該在同步處理之後發佈其最新回報狀態。如果您的裝置在執行測試之前已有現有影子，請確定針對測試案例設定的所需狀態，以及現有回報狀態並未符合。您可以識別 Device Advisor 所傳送的影子更新訊息，方法為查看影子文件中的 **ClientToken** 欄位，因為它將是 `DeviceAdvisorShadowTestCaseSetup`。  
*API 測試案例定義：*  
`EXECUTION_TIMEOUT` 的預設值為 5 分鐘。我們建議的逾時值為 2 分鐘。

```
"tests":[
   {
      "name":"my_shadow_update_reported_state",
      "configuration": {
         "DESIRED_STATE": {
            "STATE_ATTRIBUTE": "STATE_VALUE"
         },
         // optional:
         "EXECUTION_TIMEOUT":"300", // in seconds
         "SHADOW_NAME": "SHADOW_NAME"
      },
      "test":{
         "id":"Shadow_Update_Reported_State",
         "version":"0.0.0"
      }
   }
]
```
`DESIRED_STATE` 應該至少有一個屬性和相關聯的值。  
如果未提供 `SHADOW_NAME`，則測試案例會依預設尋找發佈至未具名 (傳統) 影子類型之主題字首的訊息。如果您的裝置使用具名影子類型，請提供影子名稱。如需詳細資訊，請參閱[在裝置中使用影子](https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-comms-device.html)。