

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

# 대체 템플릿
<a name="iot-substitution-templates"></a>

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

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

지원되는 표현식에 대한 자세한 내용은 [AWS IoT SQL 참조](iot-sql-reference.md) 섹션을 참조하세요.

다음 규칙 작업은 대체 템플릿을 지원합니다. 각 작업은 대체할 수 있는 다른 필드를 지원합니다.
+ [Apache Kafka](apache-kafka-rule-action.md)
+ [CloudWatch 경보](cloudwatch-alarms-rule-action.md)
+ [CloudWatch Logs](cloudwatch-logs-rule-action.md)
+ [CloudWatch 지표](cloudwatch-metrics-rule-action.md)
+ [DynamoDB](dynamodb-rule-action.md)
+ [DynamoDBv2](dynamodb-v2-rule-action.md)
+ [Elasticsearch](elasticsearch-rule-action.md)
+ [HTTP](https-rule-action.md)
+ [AWS IoT Events](iotevents-rule-action.md)
+ [AWS IoT SiteWise](iotsitewise-rule-action.md)
+ [Kinesis Data Streams](kinesis-rule-action.md)
+ [Firehose](kinesis-firehose-rule-action.md)
+ [Lambda](lambda-rule-action.md)
+ [Location](location-rule-action.md)
+ [OpenSearch](opensearch-rule-action.md)
+ [재게시](republish-rule-action.md)
+ [S3](s3-rule-action.md)
+ [SNS](sns-rule-action.md)
+ [SQS](sqs-rule-action.md)
+ [단계 함수](stepfunctions-rule-action.md)
+ [Timestream](timestream-rule-action.md)

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

```
{
    "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
    }
}
```

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

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