728x90
숫자만으로 Topic 사용이 가능할까?
=> Yes, 가능하다!
- Cloud9(이젠 볼 수 없는)에서 메시지를 잘 주고 받는 것을 확인할 수 있다
- AWS IoT MQTT Client 콘솔에서도 메시지가 정상적으로 도착하는 것을 확인할 수 있다.
-(dash)가 들어간 Topic 사용 가능할까?
=> Yes
_(underbar)가 들어간 Topic 사용 가능할까?
=> Yes
.이 들어간 Topic 사용 가능할까?
=> Yes
한글이 들어간 Topic 사용 가능할까?
=> 놀랍게도 된다.. Yes
AWS Best Practice IoT MQTT Topic
그럼에도 AWS에서 권장하는 Best Practice MQTT Topic은 다음을 참고 하면 된다.
- 계층적 구조로 /(슬래시)를 사용하여 구분한다
- 뒤로 갈수록 특정 지어질 수 있도록 짓는다
원격 측정 시에는 보통 다음과 같이 사용한다.
dt/<application>/<context>/<thing-name>/<dt-type>
예를 들어 자동차 회사의 제네시스라는 차량의 G-001 모델이름의 상태 값이라고 하면..
dt/hdcar/genesis/G-001/st 라고 한다.
명령에 대해서 지을 때에는 다음과 같이 사용한다.
- 요청할 때
cmd/<application>/<context>/<destination-id>/<req-type>
- 응답할 때
cmd/<application>/<context>/<destination-id>/<res-type>
예를 들어 자동차 회사의 제네시스라는 차량의 G-001 모델이름의 요청 값이라고 하면..
dt/hdcar/genesis/G-001/req 라고 사용할 수 있는 것이다.
테스트한 것처럼 점(.), 언더바(_), 대시(-), 한글, 슬래시 없이 사용 모두 가능하지만,
AWS IoT Core Policy에서 사용하려면 머리가 복잡할 수 있다.
AWS IoT Core Topic 제한
- Publish 요청을 보낼 때 AWS IoT Core에 전달되는 토픽은 UTF-8 인코딩 문자 256바이트를 넘을 수 없다. (Basic Ingest 토픽($AWS/rules/rule-name/)에 대한 처음 3개의 필수 세그먼트 제외)
- Publish 또는 Subscribe 요청의 토픽은 최대 7개의 슬래시(/)를 가질 수 있다. (Basic Ingest 토픽의 필수 세그먼트($AWS/rules/rule-name/)의 처음 3개 슬래시는 제외)
다음처럼 AWS의 Best Practice를 따르는 게 가장 좋다.
끗!
728x90
'AWS' 카테고리의 다른 글
[API GW] Private API Gateway 만들기와 접근하는 방법(VPC Endpoint, Lambda) (0) | 2024.07.18 |
---|---|
[EC2] Windows 서버에 Apache 설치하는 방법 (0) | 2024.07.17 |
[AWS 비용] GetMetricData API 삭제 방법 (0) | 2024.04.30 |
인터넷 없이 EC2에 접속하는 방법(AWS Session Manager 이용) (2) | 2024.04.08 |
AWS IoT FleetWise 캠페인을 여러 차량에 배포하기 (0) | 2024.01.24 |