置換テンプレート - AWS IoT

置換テンプレート

ルールがトリガーされ、AWS IoT によってアクションが実行されたときに返される JSON データを加工するには、置換テンプレートを使用できます。置換テンプレートの構文は、${expression} (expression は、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 } }

この場合、このルールは次の JSON を my/iot/topic/republish に発行します。これは AWS IoT によって ${topic()}/republish から置き換えられたものです。

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