「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」
AWS IoT SQL リファレンス
AWS IoT では、ルールは SQL に似た構文を使用して定義されています。SQL ステートメントは 3 つのタイプの句で構成されます。
- SELECT
-
必須。受信メッセージのペイロードから情報を抽出し、情報の変換を実行します。使用するメッセージは、FROM 句で指定されたトピックフィルターによって識別されます。
SELECT 句は、データ型、Operators、Functions、Literals、Case ステートメント、JSON 拡張、置換テンプレート、ネストされたオブジェクトのクエリ、および バイナリペイロード をサポートしています。
- FROM
-
データの抽出元のメッセージを識別する MQTT メッセージのトピックフィルター。ここで指定されたトピックフィルタに一致する MQTT トピックに送信されるメッセージごとに、ルールがトリガーされます。メッセージブローカーを通過するメッセージによってトリガーされるルールに必要です。基本的な取り込み機能を使用してのみ起動されるルールの場合はオプションです。
- WHERE
-
(オプション) ルールで指定されたアクションが実行されるかどうかを決定する条件付きロジックを追加します。
WHERE 句は、データ型、Operators、Functions、Literals、Case ステートメント、JSON 拡張、置換テンプレート、ネストされたオブジェクトのクエリ をサポートしています。
SQL ステートメントの例は、次のようになります。
SELECT color AS rgb FROM 'topic/subtopic' WHERE temperature > 50
MQTT メッセージ (入力ペイロードとも呼ばれる) の例は、次のようになります。
{ "color":"red", "temperature":100 }
このメッセージが 'topic/subtopic'
トピックに発行された場合、ルールはトリガーされ、SQL ステートメントは評価されます。SQL ステートメントでは、color
プロパティが 50 より大きい場合は、"temperature"
プロパティの値を抽出します。WHERE 句は、条件 temperature > 50
を指定します。 キーワードは AS
プロパティの名前を "color"
に変更します。"rgb"
結果は、(出力ペイロードとも呼ばれる) 次のようになります。
{ "rgb":"red" }
このデータは、さらなる処理のためにデータを送信するルールアクションに転送されます。ルールアクションの詳細については、「AWS IoT ルールアクション」を参照してください。