如何使用注册表管理事物 - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

如何使用注册表管理事物

您可以使用 Amazon IoT 控制台、 Amazon IoT API 或与注册表 Amazon CLI 进行交互。以下各部分展示了如何使用 CLI 与 Registry 进行交互。

命名事物对象时:
  • 请勿在事物名称中使用个人身份信息。事物名称可以出现在未加密的通信和报告中。

创建事物

以下命令显示如何使用 CLI 中的 Amazon IoT CreateThing命令来创建事物。您无法在创建事物后更改其名称。要更改事物的名称,请创建一个新事物,为其指定新名称,然后删除旧事物。

$ 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" } }

有关更多信息,请参阅《命令参考》中的 describe- thing Amazon CLI 。

更新事物

您可以使用 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 命令参考》。