SQL 버전 - AWS IoT Core

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

SQL 버전

AWS IoT 규칙 엔진은 SQL과 유사한 구문을 사용하여 MQTT 메시지에서 데이터를 선택합니다. SQL 문은 규칙을 설명하는 JSON 문서에서 awsIotSqlVersion 속성으로 지정된 SQL 버전을 기반으로 해석됩니다. JSON 규칙 문서의 구조에 대한 자세한 내용은 규칙 생성 섹션을 참조하세요. awsIotSqlVersion속성을 사용하면 사용하려는 AWS IoT SQL 규칙 엔진 버전을 지정할 수 있습니다. 새 버전이 개발될 경우 이전 버전을 계속 사용할 수도 있고 새 버전을 사용하도록 규칙을 변경할 수도 있습니다. 현재 규칙은 규칙 생성 당시의 버전을 계속 사용합니다.

다음 JSON 예제는 awsIotSqlVersion 속성을 사용하여 SQL 버전을 지정하는 방법을 보여줍니다.

{ "sql": "expression", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [{ "republish": { "topic": "my-mqtt-topic", "roleArn": "arn:aws:iam::123456789012:role/my-iot-role" } }] }

AWS IoT 현재 지원되는 SQL 버전은 다음과 같습니다.

  • 2016-03-23 – 2016년 3월 23일 작성된 SQL 버전(권장됨).

  • 2015-10-08 – 2015년 10월 8일 작성된 원래 SQL 버전.

  • beta – 최신의 베타 SQL 버전. 이 버전으로 인해 규칙에 영향을 미치는 변화가 발생할 수 있습니다.

2016-03-23 SQL 규칙 엔진 버전의 새로운 기능

  • 중첩된 JSON 객체 선택에 대한 수정 사항

  • 배열 쿼리에 대한 수정 사항

  • 객체 내 쿼리 지원. 자세한 내용은 중첩된 객체 쿼리 단원을 참조하세요.

  • 최상위 객체로 배열 출력 지원

  • JSON 및 비 JSON 형식 데이터에 적용할 수 있는 encode(value, encodingScheme) 기능 추가 자세한 내용은 encode 함수를 참조하세요.

최상위 객체로 Array 출력

이 기능을 사용하여 배열을 최상위 객체로 반환할 수 있습니다. 예를 들어 다음과 같은 MQTT 메시지가 있다고 가정합니다.

{ "a": {"b":"c"}, "arr":[1,2,3,4] }

그리고 다음과 같은 규칙이 있다고 가정합니다.

SELECT VALUE arr FROM 'topic'

이 규칙은 다음과 같은 출력을 생성합니다.

[1,2,3,4]