AWS IoT
开发人员指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

利用 Thing Registry 管理事物

您可以使用 AWS IoT 控制台或 AWS CLI 与 Thing Registry 进行交互。以下各部分展示了如何使用 CLI 与 Thing Registry 进行交互。

创建事物

以下命令说明了如何使用 AWS IoT CreateThing 命令从 CLI 创建事物:

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

CreateThing 命令会显示新事物的名称和 ARN:

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

列出事物

您可以使用 ListThings 命令列出您的账户中的所有事物:

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

搜索事物

您可以使用 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" } }

您可以使用 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" } ] }

更新事物

您可以使用 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" }

删除事物

您可以使用 DeleteThing 命令删除事物:

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

将委托人附加到事物

物理设备必须具有 X.509 证书才能与 AWS IoT 通信。您可以将设备上的证书与 Thing Registry 中代表该设备的事物关联。要将证书附加到您的事物,请使用 AttachThingPrincipal 命令:

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

AttachThingPrincipal 命令不会生成任何输出。

将委托人与事物分离

您可以使用 DetachThingPrincipal 命令将证书与事物分离:

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

DetachThingPrincipal 命令不会生成任何输出。