本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
如何使用注册表管理事物
您可以使用 Amazon IoT 控制台、Amazon IoT API 或 Amazon CLI 与注册表进行交互。以下各部分展示了如何使用 CLI 与 Registry 进行交互。
命名事物对象时:
-
请勿在事物名称中使用个人可识别信息。事物名称可以出现在未加密的通信和报告中。
创建事物
以下命令说明如何使用 Amazon IoTCreateThing 命令从 CLI 创建事物。您无法在创建事物后更改其名称。要更改事物的名称,您必须创建一个新事物,为其指定新名称,然后删除旧事物。
$ aws iot create-thing --thing-name "MyLightBulb" --attribute-payload "{\"attributes\": {\"wattage\":\"75\", \"model\":\"123\"}}"
CreateThing 命令显示新事物的名称和 Amazon Resource Name (ARN):
{ "thingArn": "arn:aws:iot:us-east-1:123456789012:thing/MyLightBulb", "thingName": "MyLightBulb", "thingId": "12345678abcdefgh12345678ijklmnop12345678" }
注意
我们建议不要在您的事物名称中使用个人身份信息。
有关更多信息,请参阅《Amazon 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 命令搜索某个属性为特定值的所有事物。此命令最多可搜索三个属性。
$ 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" } ] }
有关更多信息,请参阅《Amazon 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" } }
有关更多信息,请参阅《Amazon 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" }
有关更多信息,请参阅《Amazon CLI 命令参考》中的 update-thing。
删除事物
您可以使用 DeleteThing 命令删除事物:
$ aws iot delete-thing --thing-name "MyThing"
如果删除成功或者您指定的事物不存在,此命令将成功返回且没有错误。
有关更多信息,请参阅《Amazon CLI 命令参考》中的 delete-thing。
将委托人附加到事物
物理设备必须具有 X.509 证书才能与 Amazon IoT 通信。您可以将设备上的证书与 Registry 中代表该设备的事物关联。要将证书附加到您的事物,请使用 AttachThingPrincipal 命令:
$ aws iot attach-thing-principal --thing-name "MyLightBulb" --principal "arn:aws:iot:us-east-1:123456789012:cert/a0c01f5835079de0a7514643d68ef8414ab739a1e94ee4162977b02b12842847"
AttachThingPrincipal 命令不会生成任何输出。
有关更多信息,请参见attach-thing-principal来自Amazon CLI命令参考。
将委托人与事物分离
您可以使用 DetachThingPrincipal 命令将证书与事物分离:
$ aws iot detach-thing-principal --thing-name "MyLightBulb" --principal "arn:aws:iot:us-east-1:123456789012:cert/a0c01f5835079de0a7514643d68ef8414ab739a1e94ee4162977b02b12842847"
DetachThingPrincipal 命令不会生成任何输出。
有关更多信息,请参见detach-thing-principal来自Amazon CLI命令参考。