AWS IoT SQL 레퍼런스 - AWS IoT Core

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS IoT SQL 레퍼런스

AWS IoT에서는 규칙이 SQL과 유사한 구문을 사용하여 정의됩니다. SQL 문은 세 유형의 절로 구성됩니다.

SELECT

(필수 사항) 수신 메시지 페이로드에서 정보를 추출하고 정보 변환을 수행합니다. 사용할 메시지는 FROM 절에서 지정한 주제 필터에 의해 식별됩니다.

SELECT 절은 데이터 타입, 연산자, 함수, 리터럴, Case 문, JSON 확장, 대체 템플릿, 중첩된 객체 쿼리이진 페이로드를 지원합니다.

FROM

데이터를 추출할 메시지를 식별하는 MQTT 메시지 주제 필터입니다. 여기에 지정된 주제 필터와 일치하는 MQTT 주제로 전송된 각 메시지가 규칙을 활성화합니다. 메시지 브로커를 통과하는 메시지가 활성화하는 규칙에서는 필수입니다. 기본 수집 기능을 사용해서만 활성화되는 규칙에서는 선택 사항입니다.

WHERE

(선택 사항) 규칙에서 지정된 작업이 수행되었는지 여부를 확인하는 조건부 논리를 추가합니다.

WHERE 절은 데이터 타입, 연산자, 함수, 리터럴, Case 문, JSON 확장, 대체 템플릿중첩된 객체 쿼리를 지원합니다.

다음은 SQL 문 예제입니다.

SELECT color AS rgb FROM 'topic/subtopic' WHERE temperature > 50

다음은 MQTT 메시지(수신 페이로드라고도 함) 예제입니다.

{ "color":"red", "temperature":100 }

이 메시지가 'topic/subtopic' 주제에 게시될 경우 규칙이 트리거되고 SQL 문이 실행됩니다. "temperature" 속성이 50을 초과할 경우 SQL 문이 color 속성의 값을 추출합니다. WHERE 절은 조건 temperature > 50을 지정합니다. AS 키워드는 "color" 속성의 이름을 "rgb"로 변경합니다. 그 결과(송신 페이로드)는 다음과 같습니다.

{ "rgb":"red" }

그런 다음 이 데이터가 규칙의 작업으로 전달되고, 작업이 추가 처리를 위해 데이터를 전송합니다. 규칙 작업에 대한 자세한 내용은 AWS IoT 규칙 작업 섹션을 참조하세요.

참고

주석은 현재 AWS IoT SQL 구문에서는 지원되지 않습니다.

공백이 포함된 속성 이름은 SQL 문에서 필드 이름으로 사용할 수 없습니다. 수신되는 페이로드는 공백이 있는 속성 이름을 가질 수 있지만 SQL 문에서는 이러한 이름을 사용할 수 없습니다. 그러나 와일드카드(*) 필드 이름 사양을 사용하는 경우 송신하는 페이로드로 전달됩니다.