SELECT 절 - AWS IoT Core

SELECT 절

AWS IoT SELECT 절은 기본적으로 ANSI SQL SELECT 절과 동일하지만 몇 가지 미세한 차이가 있습니다.

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

SELECT 절을 사용하여 수신 MQTT 메시지에서 정보를 추출할 수 있습니다. SELECT *를 사용하여 전체 수신 메시지 페이로드를 검색할 수도 있습니다. 다음 예를 참조하세요.

Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50} SQL statement: SELECT * FROM 'topic/subtopic' Outgoing payload: {"color":"red", "temperature":50}

페이로드가 JSON 객체일 경우 객체 내 키를 참조할 수 있습니다. 송신 페이로드에는 키-값 페어가 포함됩니다. 다음 예를 참조하세요.

Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50} SQL statement: SELECT color FROM 'topic/subtopic' Outgoing payload: {"color":"red"}

AS 키워드를 사용하여 키 이름을 바꿀 수 있습니다. 다음 예를 참조하세요.

Incoming payload published on topic 'topic/subtopic':{"color":"red", "temperature":50} SQL:SELECT color AS my_color FROM 'topic/subtopic' Outgoing payload: {"my_color":"red"}

쉼표로 구분하여 여러 항목을 선택할 수 있습니다. 다음 예를 참조하세요.

Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50} SQL: SELECT color as my_color, temperature as fahrenheit FROM 'topic/subtopic' Outgoing payload: {"my_color":"red","fahrenheit":50}

'*'를 포함하여 여러 항목을 선택하여 수신 페이로드에 항목을 추가할 수 있습니다. 다음 예를 참조하세요.

Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50} SQL: SELECT *, 15 as speed FROM 'topic/subtopic' Outgoing payload: {"color":"red", "temperature":50, "speed":15}

"VALUE" 키워드를 사용하여 JSON 객체가 아닌 송신 페이로드를 생성할 수 있습니다. SQL 버전 2015-10-08에서는 한 항목만 선택할 수 있습니다. SQL 버전 2016-03-23 이상에서는 최상위 객체로 출력할 배열을 선택할 수도 있습니다.

Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50} SQL: SELECT VALUE color FROM 'topic/subtopic' Outgoing payload: "red"

'.' 구문을 사용하여 수신 페이로드에서 중첩된 JSON 객체를 자세히 확인할 수 있습니다. 다음 예를 참조하세요.

Incoming payload published on topic 'topic/subtopic': {"color":{"red":255,"green":0,"blue":0}, "temperature":50} SQL: SELECT color.red as red_value FROM 'topic/subtopic' Outgoing payload: {"red_value":255}

숫자 또는 하이픈(-) 문자와 같은 예약된 문자가 포함된 JSON 객체 및 속성 이름을 사용하는 방법에 대한 자세한 내용은 JSON 확장 단원을 참조하세요.

함수(함수 섹션 참조)를 사용하여 수신 페이로드를 변환할 수 있습니다. 그룹화에 괄호를 사용할 수 있습니다. 다음 예를 참조하세요.

Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50} SQL: SELECT (temperature - 32) * 5 / 9 AS celsius, upper(color) as my_color FROM 'topic/subtopic' Outgoing payload: {"celsius":10,"my_color":"RED"}