

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 置換テンプレート
<a name="iot-substitution-templates"></a>

代替テンプレートを使用して、ルールがトリガーされてアクションを実行したときに返 AWS IoT される JSON データを拡張できます。置換テンプレートの構文は `${`*expression*`}` です。*式*は、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 SiteWise](iotsitewise-rule-action.md)
+ [Kinesis Data Streams](kinesis-rule-action.md)
+ [Firehose](kinesis-firehose-rule-action.md)
+ [Lambda](lambda-rule-action.md)
+ [ロケーション](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
    }
}
```

次に`my/iot/topic/republish`、このルールは次の JSON を に発行します。これは から AWS IoT 置き換えられます`${topic()}/republish`。

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