

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Templat substitusi
<a name="iot-substitution-templates"></a>

Anda dapat menggunakan template substitusi untuk menambah data JSON yang dikembalikan saat aturan dipicu dan AWS IoT melakukan tindakan. *Sintaks untuk template substitusi adalah `${` *ekspresi`}`, di mana ekspresi* dapat berupa ekspresi apa pun yang didukung oleh AWS IoT dalam klausa SELECT, klausa WHERE, dan.* [AWS IoT tindakan aturan](iot-rule-actions.md) Ekspresi ini dapat dicolokkan ke bidang tindakan pada aturan, memungkinkan Anda mengonfigurasi tindakan secara dinamis. Akibatnya, fitur ini menggantikan sepotong informasi dalam suatu tindakan. Ini termasuk fungsi, operator, dan informasi yang ada dalam muatan pesan asli.

**penting**  
Karena ekspresi dalam template substitusi dievaluasi secara terpisah dari pernyataan “SELECT...”, Anda tidak dapat mereferensikan alias yang dibuat menggunakan klausa AS. Anda hanya dapat mereferensikan informasi yang ada di muatan, [fungsi](iot-sql-functions.md), dan [operator](iot-sql-operators.md) asli.

Untuk informasi selengkapnya tentang ekspresi yang didukung, lihat[AWS IoT Referensi SQL](iot-sql-reference.md).

Tindakan aturan berikut mendukung template substitusi. Setiap tindakan mendukung bidang yang berbeda yang dapat diganti.
+ [Apache Kafka](apache-kafka-rule-action.md)
+ [CloudWatch alarm](cloudwatch-alarms-rule-action.md)
+ [CloudWatch Log](cloudwatch-logs-rule-action.md)
+ [CloudWatch metrik](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 SiteWise](iotsitewise-rule-action.md)
+ [Kinesis Data Streams](kinesis-rule-action.md)
+ [Firehose](kinesis-firehose-rule-action.md)
+ [Lambda](lambda-rule-action.md)
+ [Lokasi](location-rule-action.md)
+ [OpenSearch](opensearch-rule-action.md)
+ [Publikasikan ulang](republish-rule-action.md)
+ [S3](s3-rule-action.md)
+ [SNS](sns-rule-action.md)
+ [SQS](sqs-rule-action.md)
+ [Step Functions](stepfunctions-rule-action.md)
+ [Timestream](timestream-rule-action.md)

Templat substitusi muncul di parameter tindakan dalam aturan: 

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

Jika aturan ini dipicu oleh JSON berikut yang diterbitkan ke`my/iot/topic`:

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

Kemudian aturan ini menerbitkan JSON berikut ke`my/iot/topic/republish`, yang AWS IoT menggantikan dari: `${topic()}/republish`

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