レジストリによるモノの管理方法 - AWS IoT Core

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

レジストリによるモノの管理方法

レジストリを操作する AWS CLI には、 AWS IoT コンソール、 AWS IoT API、または を使用します。以下の各セクションでは、CLI を使用して Registry を操作する方法を示します。

モノのオブジェクトに名前を付ける場合:
  • モノの名前に個人を特定できる情報を使用しないでください。モノの名前は、暗号化されていない通信やレポートに表示されることがあります。

モノの作成

次のコマンドは、 CLI の コマンドを使用して AWS IoT CreateThingモノを作成する方法を示しています。モノの作成後に名前を変更することはできません。モノの名前を変更するには、新しいモノを作成し、新しい名前を付け、古いモノを削除します。

$ aws iot create-thing --thing-name "MyLightBulb" --attribute-payload "{\"attributes\": {\"wattage\":\"75\", \"model\":\"123\"}}"

CreateThing コマンドを実行すると、新しいモノの名前と Amazon リソースネーム (ARN) が表示されます。

{ "thingArn": "arn:aws:iot:us-east-1:123456789012:thing/MyLightBulb", "thingName": "MyLightBulb", "thingId": "12345678abcdefgh12345678ijklmnop12345678" }
注記

モノの名前に個人を特定できる情報を使用することはお勧めしません。

詳細については、「 AWS CLI コマンドリファレンス」の「create-thing」を参照してください。

モノのリスト表示

ListThings コマンドを使用すると、アカウント内のモノをすべてリスト表示できます。

$ aws iot list-things
{ "things": [ { "attributes": { "model": "123", "wattage": "75" }, "version": 1, "thingName": "MyLightBulb" }, { "attributes": { "numOfStates":"3" }, "version": 11, "thingName": "MyWallSwitch" } ] }

ListThings コマンドを使用して、特定のモノタイプのすべてのものを検索できます。

$ aws iot list-things --thing-type-name "LightBulb"
{ "things": [ { "thingTypeName": "LightBulb", "attributes": { "model": "123", "wattage": "75" }, "version": 1, "thingName": "MyRGBLight" }, { "thingTypeName": "LightBulb", "attributes": { "model": "123", "wattage": "75" }, "version": 1, "thingName": "MySecondLightBulb" } ] }

ListThings コマンドを使用して、特定の属性値を持つすべてのモノを検索できます。このコマンドは、最大 3 つの属性を検索します。

$ aws iot list-things --attribute-name "wattage" --attribute-value "75"
{ "things": [ { "thingTypeName": "StopLight", "attributes": { "model": "123", "wattage": "75" }, "version": 3, "thingName": "MyLightBulb" }, { "thingTypeName": "LightBulb", "attributes": { "model": "123", "wattage": "75" }, "version": 1, "thingName": "MyRGBLight" }, { "thingTypeName": "LightBulb", "attributes": { "model": "123", "wattage": "75" }, "version": 1, "thingName": "MySecondLightBulb" } ] }

詳細については、「 AWS CLI コマンドリファレンス」の「list-things」を参照してください。

モノを記述する

DescribeThing コマンドを使用して、モノに関するより詳細な情報を表示できます。

$ aws iot describe-thing --thing-name "MyLightBulb" { "version": 3, "thingName": "MyLightBulb", "thingArn": "arn:aws:iot:us-east-1:123456789012:thing/MyLightBulb", "thingId": "12345678abcdefgh12345678ijklmnop12345678", "defaultClientId": "MyLightBulb", "thingTypeName": "StopLight", "attributes": { "model": "123", "wattage": "75" } }

詳細については、 AWS CLI 「 コマンドリファレンス」の「describe-thing」を参照してください。

モノの更新

UpdateThing コマンドを使用すると、モノを更新できます。このコマンドはモノの属性のみを更新します。モノの名前を変更することはできません。モノの名前を変更するには、新しいモノを作成し、新しい名前を付け、古いモノを削除します。

$ aws iot update-thing --thing-name "MyLightBulb" --attribute-payload "{\"attributes\": {\"wattage\":\"150\", \"model\":\"456\"}}"

UpdateThing コマンドでは、出力が生成されません。DescribeThing コマンドを使用して、結果を表示できます。

$ aws iot describe-thing --thing-name "MyLightBulb" { "attributes": { "model": "456", "wattage": "150" }, "version": 2, "thingName": "MyLightBulb" }

詳細については、「 AWS CLI コマンドリファレンス」の「update-thing」を参照してください。

モノの削除

DeleteThing コマンドを使用すると、モノを削除できます。

$ aws iot delete-thing --thing-name "MyThing"

このコマンドは、削除が成功した場合、または存在しないモノが指定された場合、エラーなしで正常に終了します。

詳細については、「 AWS CLI コマンドリファレンス」の「delete-thing」を参照してください。

モノにプリンシパルをアタッチする

と通信するには、物理デバイスに X.509 証明書が必要です AWS IoT。Registry 内でデバイスを表しているモノと、デバイスの証明書を関連付けることができます。証明書をモノにアタッチするには、AttachThingPrincipal コマンドを使用します。

$ aws iot attach-thing-principal --thing-name "MyLightBulb" --principal "arn:aws:iot:us-east-1:123456789012:cert/a0c01f5835079de0a7514643d68ef8414ab739a1e94ee4162977b02b12842847"

AttachThingPrincipal コマンドでは、出力が生成されません。

詳細については、 AWS CLI 「 コマンドリファレンスattach-thing-principal」の「」を参照してください。

モノからプリンシパルをデタッチする

DetachThingPrincipal コマンドを使用すると、モノから証明書をデタッチできます。

$ aws iot detach-thing-principal --thing-name "MyLightBulb" --principal "arn:aws:iot:us-east-1:123456789012:cert/a0c01f5835079de0a7514643d68ef8414ab739a1e94ee4162977b02b12842847"

DetachThingPrincipal コマンドでは、出力が生成されません。

詳細については、 AWS CLI 「 コマンドリファレンスdetach-thing-principal」の「」を参照してください。