置換テンプレート - AWS IoT Core

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

置換テンプレート

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