레지스트리를 사용하여 사물을 관리하는 방법 - AWS IoT Core

레지스트리를 사용하여 사물을 관리하는 방법

AWS IoT 콘솔, AWS IoT API 또는 AWS CLI를 사용하여 레지스트리와 상호작용합니다. 다음 섹션에서는 CLI를 사용하여 레지스트리 작업을 수행하는 방법을 설명합니다.

사물의 이름을 지정할 때:
  • 사물 이름에 개인 식별 정보를 사용하면 안 됩니다. 사물 이름은 암호화되지 않은 통신 및 보고서에 나타날 수 있습니다.

사물 생성

다음은 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 명령을 사용하여 특정 값의 속성을 갖는 모든 사물을 검색할 수 있습니다. 이 명령은 최대 세 개의 속성을 검색합니다.

$ 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을 참조하세요.

사물에 보안 주체 연결

물리적 디바이스는 AWS IoT와 통신하려면 X.509 인증서가 있어야 합니다. 디바이스의 인증서를 레지스트리에서 디바이스를 표현하는 사물과 연결할 수 있습니다. 인증서를 사물에 연결할 때는 다음과 같이 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을 참조하세요.