デバイスシャドウREST API - AWS IoT Core

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

デバイスシャドウREST API

Shadow は状態情報の更新用に以下の URI を公開します。

https://endpoint/things/thingName/shadow

エンドポイントは AWS アカウントに固有のものです。エンドポイントを検索するには、次の操作を行います。

  • _を使用 説明-エンドポイント コマンドを AWS CLI.

  • _を使用 AWS IoT コンソール設定。内 設定、エンドポイントは カスタムエンドポイント

  • _を使用 AWS IoT コンソールの詳細。オープン Manage。 以下 管理、選択 Things アイテムリストで、アイテムを選択して開きます。Thing詳細ページの左のナビで、Interact エンドポイント URI を HTTPS 参照してください。

エンドポイントの形式は以下のとおりです。

identifier.iot.region.amazonaws.com

シャドウの REST API は、「デバイス通信プロトコル」で説明されているものと同じ HTTPS プロトコル/ポートマッピングに従います。

GetThingShadow

指定したモノの Shadow を取得します。

レスポンス状態ドキュメントには、desired 状態と reported 状態との差分が含まれます。

Request

リクエストには標準の HTTP ヘッダーに加えて、以下の URI が含まれます。

HTTP GET https://endpoint/things/thingName/shadow?name=shadowName Request body: (none)

名前なし (クラシック) シャドウでは、name クエリパラメータは必要ありません。

Response

成功した場合、レスポンスには標準の HTTP ヘッダーに加えて、以下のコードと本体が含まれます。

HTTP 200 Response Body: response state document

詳細については、「レスポンス状態ドキュメントの例」を参照してください。

Authorization

Shadow を取得するには、呼び出し元に iot:GetThingShadow アクションの実行を許可するポリシーが必要です。Device Shadowサービスでは、次の2種類の認証が受け付けられます。署名バージョン4 IAM またはクライアント証明書とのTLS相互認証。

以下に示しているのは、呼び出し元にデバイスのシャドウの取得を許可するポリシーの例です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:GetThingShadow", "Resource": [ "arn:aws:iot:region:account:thing/thing" ] } ] }

UpdateThingShadow

指定したモノの Shadow を更新します。

更新は、リクエスト状態ドキュメントで指定したフィールドにのみ反映されます。値が null のフィールドはすべてデバイスのシャドウから削除されます。

Request

リクエストには標準の HTTP ヘッダーに加えて、以下の URI と本体が含まれます。

HTTP POST https://endpoint/things/thingName/shadow?name=shadowName Request body: request state document

名前なし (クラシック) シャドウでは、name クエリパラメータは必要ありません。

詳細については、「リクエスト状態ドキュメントの例」を参照してください。

Response

成功した場合、レスポンスには標準の HTTP ヘッダーに加えて、以下のコードと本体が含まれます。

HTTP 200 Response body: response state document

詳細については、「レスポンス状態ドキュメントの例」を参照してください。

Authorization

Shadow を更新するには、呼び出し元に iot:UpdateThingShadow アクションの実行を許可するポリシーが必要です。Device Shadowサービスでは、次の2種類の認証が受け付けられます。署名バージョン4 IAM またはクライアント証明書とのTLS相互認証。

以下に示しているのは、呼び出し元にデバイスのシャドウの更新を許可するポリシーの例です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:UpdateThingShadow", "Resource": [ "arn:aws:iot:region:account:thing/thing" ] } ] }

DeleteThingShadow

指定したモノの Shadow を削除します。

Request

リクエストには標準の HTTP ヘッダーに加えて、以下の URI が含まれます。

HTTP DELETE https://endpoint/things/thingName/shadow?name=shadowName Request body: (none)

名前なし (クラシック) シャドウでは、name クエリパラメータは必要ありません。

Response

成功した場合、レスポンスには標準の HTTP ヘッダーに加えて、以下のコードと本体が含まれます。

HTTP 200 Response body: Empty response state document

Authorization

デバイスのシャドウを削除するには、呼び出し元に iot:DeleteThingShadow アクションの実行を許可するポリシーが必要です。Device Shadowサービスでは、次の2種類の認証が受け付けられます。署名バージョン4 IAM またはクライアント証明書とのTLS相互認証。

以下に示しているのは、呼び出し元にデバイスのシャドウの削除を許可するポリシーの例です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:DeleteThingShadow", "Resource": [ "arn:aws:iot:region:account:thing/thing" ] } ] }

ListNamedShadowsForThing

指定されたモノのシャドウを一覧表示します。

Request

リクエストには標準の HTTP ヘッダーに加えて、以下の URI が含まれます。

HTTP GET /api/things/shadow/ListNamedShadowsForThing/thingName?nextToken=nextToken&pageSize=pageSize Request body: (none)
nextToken

次の結果セットを取得するためのトークン。

この値は、ページングされた結果で返され、次のページを返す呼び出しで使用されます。

pageSize

各呼び出しで返すシャドウ名の数。(「nextToken」も参照してください。)

thingName

名前の付いたシャドウを一覧表示するモノの名前。

Response

成功した場合、レスポンスには標準の HTTP ヘッダーに加えて、以下のレスポンスコードと シャドウ名リストレスポンスドキュメント が含まれます。

注記

名前なし (クラシック) シャドウは、このリストに表示されません。

HTTP 200 Response body: Shadow name list document

Authorization

デバイスのシャドウを削除するには、呼び出し元に iot:ListNamedShadowsForThing アクションの実行を許可するポリシーが必要です。Device Shadowサービスでは、次の2種類の認証が受け付けられます。署名バージョン4 IAM またはクライアント証明書とのTLS相互認証。

以下に示しているのは、呼び出し元にモノの名前付きシャドウの削除を許可するポリシーの例です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:ListNamedShadowsForThing", "Resource": [ "arn:aws:iot:region:account:thing/thing" ] } ] }