대체 템플릿 - AWS IoT Core

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

대체 템플릿

대체 템플릿을 사용하여 규칙이 트리거되고 작업을 AWS IoT 수행할 때 반환되는 JSON 데이터를 보강할 수 있습니다. 대체 템플릿의 구문은 ${표현식}입니다. 여기서 표현식은 SELECT 절, WHERE 절 및 AWS IoT 에서에서 지원하는 모든 표현식일 수 있습니다AWS IoT 규칙 작업. 이 표현식을 규칙의 작업 필드에 연결하여 작업을 동적으로 구성할 수 있습니다. 실제로 이 기능은 작업의 정보를 대체합니다. 이러한 표현식에는 함수, 연산자, 그리고 원본 메시지 페이로드에서 제공되는 정보가 포함됩니다.

중요

대체 템플릿의 표현식은 'SELECT ...' 문과 별도로 평가되므로 AS 절을 사용하여 생성한 별칭은 참조할 수 없습니다. 원래 페이로드에 있는 정보, 함수연산자만 참조할 수 있습니다.

지원되는 표현식에 대한 자세한 내용은 AWS IoT SQL 참조 섹션을 참조하세요.

다음 규칙 작업은 대체 템플릿을 지원합니다. 각 작업은 대체할 수 있는 다른 필드를 지원합니다.

대체 템플릿은 규칙 내의 작업 파라미터에 나타납니다.

{ "sql": "SELECT *, timestamp() AS timestamp FROM 'my/iot/topic'", "ruleDisabled": false, "actions": [{ "republish": { "topic": "${topic()}/republish", "roleArn": "arn:aws:iam::123456789012:role/my-iot-role" } }] }

이 규칙이 my/iot/topic에 게시된 다음 JSON에 의해 트리거될 경우:

{ "deviceid": "iot123", "temp": 54.98, "humidity": 32.43, "coords": { "latitude": 47.615694, "longitude": -122.3359976 } }

그런 다음이 규칙은에서 AWS IoT 대체my/iot/topic/republish하는 다음 JSON을에 게시합니다. ${topic()}/republish

{ "deviceid": "iot123", "temp": 54.98, "humidity": 32.43, "coords": { "latitude": 47.615694, "longitude": -122.3359976 }, "timestamp": 1579637878451 }