

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

# シャドウ
<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 case)」***  
デバイスが接続後にその状態を発行できるかどうかを検証します 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 case)」***  
デバイスが受信したすべての更新メッセージを読み取ったかどうかを検証し、デバイスの状態を同期して、必要な状態のプロパティと一致させます。デバイスは、同期後に最新の報告された状態を発行します。テストを実行する前に、デバイスに既にシャドウが存在する場合は、テストケースに設定された目的の状態と、報告された既存の状態がまだ一致していないことを確認します。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` には、少なくとも 1 つの属性と関連付けられた値が必要です。  
`SHADOW_NAME` が指定されていない場合、テストケースはデフォルトで [Unnamed] (無名) (クラシック) シャドウタイプのトピックプレフィックスに発行されたメッセージを検索します。デバイスで名前の付いたシャドウタイプを使用する場合は、シャドウの名前を指定します。詳細については、[デバイスでのシャドウの使用](https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-comms-device.html)を参照してください。