레지스트리를 사용하여 사물을 관리하는 방법
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을 참조하세요.