IoTCore로 들어오는 데이터들을 아마존의 NoSQL서비스인 DynamoDB로 전달해서 데이터를 쌓아놓으려 한다.
IoTcore 콘솔에 접속해서 왼쪽 메뉴바의 메세지라우팅 -> 규칙을 선택한다.
규칙 창에서 규칙 생성을 클릭 후, 생성되는 규칙 속성 지정 창에서 이름을 입력하고 (규칙 설명 및 태그는 선택사항) 넘어간다.
내경우에는 태그에 해당 규칙에 적용할 토픽을 받는 사물의 이름을 입력해서 추후에 구분가능하도록 했다.
SQL문 구성에서 SQL문을 작성하면 되는데, FROM 값에 쿼리를 적용할 토픽을 입력하면 된다.
아래 내가 작성한 SQL문에서 'obd/+/data'라고 되어 있는데, 여기서 '+'는 모든 값을 받는다는 뜻이다.
또한, 해당 토픽의 데이터의 모든 항목과 함께 topic을 항목으로 넣는다.
다음 창에서, 규칙작업을 정의한다. 여기서 DynamoDB를 선택하면 관련 항목들이 불러와 진다.
데이터를 전달할 테이블을 선택하면 된다. 기존에 만들어놓은 테이블이 없다면, 테이블 생성 버튼을 눌러서 테이블생성 창으로 넘어간다.
테이블 선택 후 아래의 항목들을 채워주면 된다.
파티션키 및 정렬키는 테이블의 설정과 동일하게 해주면 된다.
여기서, 파티션키 값과 정렬키 값은 대체템플릿을 이용한다.
대체 템플릿이란?
“${expression}” 형식으로 표현되며, 표현식은 select절, where절 등 iot 규칙작업에서 지원되는 모든 표현식이 가능하다.
https://docs.aws.amazon.com/ko_kr/iot/latest/developerguide/iot-substitution-templates.html
가장 하단의 IAM역할에서는 새역할 생성 클릭 후 역할 이름 입력하면 자동으로 생성되어 선택된다.
필드를 모두 채웠으면, 규칙생성을 완료한다. 규칙이 생성되면 지정해둔 토픽으로 데이터가 들어오면 자동으로 규칙이 수행된다.
규칙이 잘 수행되는지 확인해보자.
IoT 콘솔 좌측 메뉴바에서 MQTT 테스트 클라이언트를 선택하고, 테스트 해보려는 토픽에 데이터를 테스트 퍼블리싱해본다.
그리고 바로, Dynamo DB로 이동해서 데이터가 들어왔는지 확인한다.
데이터가 잘 들어온것을 확인 할 수 있다.
'Amazon AWS > IoT Core' 카테고리의 다른 글
AWS IoT Core로 데이터 퍼블리싱 (0) | 2022.05.08 |
---|---|
라즈베리파이에서 AWS IoT Core로 MQTT 퍼블리싱을 위한 설정 (0) | 2022.05.01 |
AWS IoT Core 로그 관리 하기 (0) | 2022.04.22 |
IoT Core 리소스 생성(정책 및 사물 생성) (0) | 2022.04.17 |