AWS IoT
開発者ガイド

置換テンプレート

ルールがトリガーされ、AWS IoT によってアクションが実行されたときに返される JSON データを加工するには、置換テンプレートを使用できます。置換テンプレートの構文は ${expression} であり、expression は SELECT 句または WHERE 句での使用が AWS IoT でサポートされている任意の式です。これには、関数、演算子、および元のメッセージペイロードに存在する情報が該当します。置換テンプレート内の式は "SELECT..." ステートメントとは独立して評価されるため、AS 句を使用して作成されたエイリアスを参照することはできません。サポートされる式の詳細については、「AWS IoT SQL リファレンス」を参照してください。

置換テンプレートは、次の例ようにルール内の SELECT 句で使用します。

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

このルールが次の JSON によってトリガーされた場合:

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

ルールの出力は次のようになります。

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