레지스트리를 사용하여 사물을 관리하는 방법 - 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" } }

자세한 내용은 명령 참조의 descripbe-thing을 AWS 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" }

자세한 내용은 AWS CLI 명령 참조의 update-thing을 참조하세요.

사물 삭제

다음과 같이 DeleteThing 명령을 사용하여 사물을 삭제할 수 있습니다.

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

삭제에 성공하거나 존재하지 않는 사물을 지정하는 경우 이 명령은 오류가 발생하지 않고 성공적으로 반환합니다.

자세한 내용은 AWS CLI 명령 참조의 delete-thing을 참조하세요.

사물에 보안 주체 연결

물리적 기기에는 통신할 X.509 인증서가 있어야 합니다. AWS IoT 디바이스의 인증서를 레지스트리에서 디바이스를 표현하는 사물과 연결할 수 있습니다. 인증서를 사물에 연결할 때는 다음과 같이 AttachThingPrincipal 명령을 사용합니다.

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

AttachThingPrincipal 명령은 출력을 생성하지 않습니다.

자세한 내용은 명령 참조서를 참조하십시오 attach-thing-principal. AWS CLI

사물에서 보안 주체 분리

다음과 같이 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.