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