투케이2K

213. (TWOK/WORK) [업무 이슈] AWS IoT Core 사물 Thing Shadow List 리스트 조회 시 실제 생성 된 사물이 아닌데 응답 [] 반환 이슈 본문

투케이2K 업무정리

213. (TWOK/WORK) [업무 이슈] AWS IoT Core 사물 Thing Shadow List 리스트 조회 시 실제 생성 된 사물이 아닌데 응답 [] 반환 이슈

투케이2K 2026. 5. 17. 18:36
728x90
반응형

[제 목]

주제 : 투케이2K 업무 정리

타이틀 : 투케이 / 2k / 업무 정리

제목 : [업무 이슈] AWS IoT Core 사물 Thing Shadow List 리스트 조회 시 실제 생성 된 사물이 아닌데 응답 [] 반환 이슈

 

[내 용]

------------------------------------------------------------------------------
[개발 및 테스트 환경]
------------------------------------------------------------------------------

- 제 목 : [업무 문의] AWS IoT Core 사물 Thing Shadow List 리스트 조회 시 실제 생성 된 사물이 아닌데 응답 [] 반환 이슈


- 테스트 환경 : AWS / IoT / Device / ListNamedShadowsForThing / DescribeThing


- 사전) 👉 AWS IoT Core 간단 설명 : 

  >> AWS IoT 는 IoT 디바이스를 다른 디바이스 및 AWS 클라우드 서비스에 연결하는 클라우드 서비스를 제공합니다.

  >> 디바이스가에 연결할 수 있는 경우 AWS IoT는 AWS 가 제공하는 클라우드 서비스에 디바이스를 AWS IoT 연결할 수 있습니다.

  >> AWS IoT Core 메시지 브로커는 MQTT 및 MQTT over WSS 프로토콜을 사용하여 메시지를 게시하고 구독하는 디바이스 및 클라이언트를 지원합니다. 
  
    - HTTPS 프로토콜을 사용하여 메시지를 게시하는 디바이스와 클라이언트도 지원합니다.


- 사전) 👉 ListNamedShadowsForThing 간략 설명 : 

  >> AWS IoT ListNamedShadowsForThing 는 AWS IoT Core의 디바이스 섀도우 (Device Shadow) API 중 하나로, 특정 IoT Thing (사물) 에 대해 명명된 섀도우 (Named Shadow) 들의 이름 목록을 반환합니다

  >> AWS IoT ListNamedShadowsForThing API 를 통해 특정 사물 Thing 에 어떤 섀도우들이 있는지 리스트로 확인할 수 있습니다

------------------------------------------------------------------------------





------------------------------------------------------------------------------
[이슈 사항]
------------------------------------------------------------------------------

1. ✔️ AWS IoT Core 연동 디바이스 기기가 생성 한 Named Shadow 리스트 조회 시 실제로 생성 되어 있지 않은 Thing 사물인데 리스트 응답 반환이 되는 이슈


2. ✔️ 로직 구현 시 해당 사물 Shadow 생성 된 리스트 목록 확인으로 정상 등록 된 기기 여부 체크를 수행하는데, [] 형태로 응답이 반환되어 정상 기기 등록 여부 체크에서 문제가 발생


3. 👉 실제로 생성 되어 있지 않은 사물 Named Shadow List 조회 시 반환 되는 예시 전문 : 

    {
        "results":[],
        "timestamp":1761455875
    }

------------------------------------------------------------------------------





------------------------------------------------------------------------------
[원인 파악 및 증상 재현]
------------------------------------------------------------------------------

1. 디바이스 기기 AWS IoT Core 연동 플릿 프로비저닝 동작 수행


2. 중간에 wifi 공유기 네트워크 단선 수행


3. 실제로 디바이스 기기가 AWS IoT Core 에 최종 등록 완료 되지 않고, Named Shadow 도 생성하지 않은 상태 확인


4. ❌ AWS IoT ListNamedShadowsForThing API 호출을 통해 특정 사물 섀도우 리스트 조회 시 에러 코드가 아닌 정상 응답 코드에 [] 값이 반환 되는 것 확인

------------------------------------------------------------------------------






------------------------------------------------------------------------------
[조치 내용]
------------------------------------------------------------------------------

1. AWS IoT Core 디바이스 최종 등록 완료 상태 체크 로직 DescribeThing 을 통해 확인하도록 로직 변경 개발


2. ✅ 간단 구현 된 로직 설명 : 

  >> 디바이스 기기 AWS IoT Core 연동 프로비저닝 수행

  >> 디바이스 기기 데이터 송수신을 하기 위한 필수 named shadow 생성 및 주기 보고 수행

  >> 앱 및 웹에서 특정 디바이스 기기 shadow 상태 확인 호출 수행

  >> 👉 백엔드에서는 DescribeThing API 를 통해서 사물이 생성 되어 있는지 먼저 확인 후 ListNamedShadowsForThing API 연동 호출 수행

  >> DescribeThing API 에서 정상 응답이 내려오지 않은 경우 ' 기기 등록 여부를 확인해 주세요. ' 알림 팝업창 표시 수행


3. ✅ DescribeThing API 를 통해 반환 되는 응답 예시 전문 : 

    {
        "defaultClientId": "TWOK_1234",
        "thingName": "TWOK_1234",
        "thingId": "b6..854",
        "thingArn": "arn:aws:iot:ap-northeast-2:123456789012:thing/TWOK_1234",
        "thingTypeName": "DEVICE",
        "attributes": {},
        "version": 1,
        "billingGroupName": null
    }

------------------------------------------------------------------------------





------------------------------------------------------------------------------
[참고 사이트]
------------------------------------------------------------------------------

▶️ [자바스크립트 AWS Iot Core 에 생성 된 Thing Info 사물 정보 조회 - DescribeThing]

https://kkh0977.tistory.com/8389

https://blog.naver.com/kkh0977/224068807852


▶️ [자바스크립트 AWS Iot Core 특정 Thing 사물에 생성 된 Shadow 목록 리스트 조회 - listNamedShadowsForThing]

https://kkh0977.tistory.com/8350

https://blog.naver.com/kkh0977/224054216204?trackingCode=blog_bloghome_searchlist


▶️ [Aws Iot Core] Aws Iot Core 사물에 생성된 Shadow 목록 조회 ListNamedShadowsForThing API 설명

https://kkh0977.tistory.com/8489

https://blog.naver.com/kkh0977/224107627496?trackingCode=blog_bloghome_searchlist


▶️ [Aws Iot Core] 하나의 Thing 사물에 생성 가능 한 Named Shadow 개수 정리 - ListNamedShadowsForThing

https://kkh0977.tistory.com/8226

https://blog.naver.com/kkh0977/223978715565?trackingCode=blog_bloghome_searchlist


▶️ [Aws Iot Core] Fleet provisioning 플릿 프로비저닝 설명 및 동작 프로세스 정리

https://kkh0977.tistory.com/7439

https://blog.naver.com/kkh0977/223691943757?trackingCode=blog_bloghome_searchlist


▶️ [Aws Iot Core] Fleet provisioning 플릿 프로비저닝 수행 방법 정리 - 클레임 인증서 , 신뢰할 수 있는 사용자

https://blog.naver.com/kkh0977/223779257161?trackingCode=blog_bloghome_searchlist

------------------------------------------------------------------------------
 
728x90
반응형
Comments