翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
デバイスシャドウ REST API
シャドウは、状態情報を更新URIするために以下を公開します。
https://
account-specific-prefix
-ats.iot.region
.amazonaws.com/things/thingName
/shadow
エンドポイントは に固有です AWS アカウント。エンドポイントを見つけるには、以下を実行します。
-
AWS CLIの describe-endpoint コマンドを使用します。
-
AWS IoT コンソール設定を使用します。[Settings] (設定) で、エンドポイントは [Custom endpoint] (カスタムエンドポイント) の下に表示されます
-
AWS IoT コンソールのモノの詳細ページを使用します。コンソールで:
-
[Manage] (管理) を展開し、[Manage] (管理) で [Things] (モノ) をクリックします。
-
モノのリストで、エンドポイント を取得するモノを選択しますURI。
-
[Device Shadows] (デバイスシャドウ) タブをクリックし、シャドウを選択します。エンドポイントは、Device Shadow URL の詳細ページの Device Shadow セクションURIで表示できます。
-
エンドポイントの形式は以下のとおりです。
identifier
.iot.region
.amazonaws.com
シャドウは、 で説明されているのと同じHTTPSプロトコル/ポートマッピングRESTAPIに従いますデバイス通信プロトコル。
注記
を使用するにはAPIs、認証のサービス名iotdevicegateway
として を使用する必要があります。詳細については、「I oTDataPlane 」を参照してください。
を使用して、 のクエリパラメータname=
の一部として を指定することで、名前付きシャドウAPIを作成することもできますAPI。shadowName
GetThingShadow
指定したモノの Shadow を取得します。
レスポンス状態ドキュメントには、desired
状態と reported
状態との差分が含まれます。
リクエスト
リクエストには、標準HTTPヘッダーと次の が含まれますURI。
HTTP GET https://
endpoint
/things/thingName
/shadow?name=shadowName
Request body: (none)
名前なし (クラシック) シャドウでは、name
クエリパラメータは必要ありません。
レスポンス
成功すると、レスポンスには標準HTTPヘッダーと次のコードと本文が含まれます。
HTTP 200 Response Body:
response state document
詳細については、「レスポンス状態ドキュメントの例」を参照してください。
認可
Shadow を取得するには、呼び出し元に iot:GetThingShadow
アクションの実行を許可するポリシーが必要です。Device Shadow サービスは、IAM認証情報を使用した署名バージョン 4 またはクライアント証明書を使用したTLS相互認証の 2 つの形式の認証を受け入れます。
以下に示しているのは、呼び出し元にデバイスのシャドウの取得を許可するポリシーの例です。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:GetThingShadow", "Resource": [ "arn:aws:iot:
region
:account
:thing/thing
" ] } ] }
UpdateThingShadow
指定したモノの Shadow を更新します。
更新は、リクエスト状態ドキュメントで指定したフィールドにのみ反映されます。値が null
のフィールドはすべてデバイスのシャドウから削除されます。
リクエスト
リクエストには、標準HTTPヘッダーに加えて、次の URIと本文が含まれます。
HTTP POST https://
endpoint
/things/thingName
/shadow?name=shadowName
Request body:request state document
名前なし (クラシック) シャドウでは、name
クエリパラメータは必要ありません。
詳細については、「リクエスト状態ドキュメントの例」を参照してください。
レスポンス
成功すると、レスポンスには標準HTTPヘッダーと次のコードと本文が含まれます。
HTTP 200 Response body:
response state document
詳細については、「レスポンス状態ドキュメントの例」を参照してください。
認可
Shadow を更新するには、呼び出し元に iot:UpdateThingShadow
アクションの実行を許可するポリシーが必要です。Device Shadow サービスは、IAM認証情報を使用した署名バージョン 4 またはクライアント証明書を使用したTLS相互認証の 2 つの形式の認証を受け入れます。
以下に示しているのは、呼び出し元にデバイスのシャドウの更新を許可するポリシーの例です。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:UpdateThingShadow", "Resource": [ "arn:aws:iot:
region
:account
:thing/thing
" ] } ] }
DeleteThingShadow
指定したモノの Shadow を削除します。
リクエスト
リクエストには、標準HTTPヘッダーと次の が含まれますURI。
HTTP DELETE https://
endpoint
/things/thingName
/shadow?name=shadowName
Request body: (none)
名前なし (クラシック) シャドウでは、name
クエリパラメータは必要ありません。
レスポンス
成功すると、レスポンスには標準HTTPヘッダーと次のコードと本文が含まれます。
HTTP 200 Response body:
Empty response state document
シャドウを削除しても、バージョン番号は 0 にリセットされないことに注意してください。
認可
デバイスのシャドウを削除するには、呼び出し元に iot:DeleteThingShadow
アクションの実行を許可するポリシーが必要です。Device Shadow サービスは、IAM認証情報を使用した署名バージョン 4 またはクライアント証明書を使用したTLS相互認証の 2 つの形式の認証を受け入れます。
以下に示しているのは、呼び出し元にデバイスのシャドウの削除を許可するポリシーの例です。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:DeleteThingShadow", "Resource": [ "arn:aws:iot:
region
:account
:thing/thing
" ] } ] }
ListNamedShadowsForThing
指定されたモノのシャドウを一覧表示します。
リクエスト
リクエストには、標準HTTPヘッダーと次の が含まれますURI。
HTTP GET /api/things/shadow/ListNamedShadowsForThing/
thingName
?nextToken=nextToken
&pageSize=pageSize
Request body: (none)
- nextToken
-
次の結果セットを取得するためのトークン。
この値は、ページングされた結果で返され、次のページを返す呼び出しで使用されます。
- pageSize
-
各呼び出しで返すシャドウ名の数。「
nextToken
」も参照してください。 - thingName
-
名前の付いたシャドウを一覧表示するモノの名前。
レスポンス
成功すると、レスポンスには標準HTTPヘッダーに加えて、次のレスポンスコードと が含まれますシャドウ名リストレスポンスドキュメント。
注記
名前なし (クラシック) シャドウは、このリストに表示されません。クラシックシャドウしかない、または指定したthingName
が存在しない場合、レスポンスは空のリストになります。
HTTP 200 Response body:
Shadow name list document
認可
デバイスのシャドウをリスト化するには、呼び出し元に iot:ListNamedShadowsForThing
アクションの実行を許可するポリシーが必要です。Device Shadow サービスは、IAM認証情報を使用した署名バージョン 4 またはクライアント証明書を使用したTLS相互認証の 2 つの形式の認証を受け入れます。
以下に示しているのは、呼び出し元にモノの名前付きシャドウの削除を許可するポリシーの例です。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:ListNamedShadowsForThing", "Resource": [ "arn:aws:iot:
region
:account
:thing/thing
" ] } ] }