WHERE 句 - AWS IoT Core

WHERE 句

WHERE 句は、ルールで指定されたアクションが実行されるかどうかを決定します。WHERE 句が true と評価する場合、ルールアクションが実行されます。それ以外の場合、ルールアクションは実行されません。

WHERE 句は、データ型演算子関数リテラルCase ステートメントJSON 拡張置換テンプレートネストされたオブジェクトのクエリ をサポートしています。

例:

topic/subtopic に公開された受信ペイロード: {"color":"red", "temperature":40}

SQL: SELECT color AS my_color FROM 'topic/subtopic' WHERE temperature > 50 AND color <> 'red'.

この場合、ルールはトリガーされますが、ルールで指定されたアクションは実行されません。出力ペイロードはありません。

WHERE 句の関数と演算子を使用できます。ただし、SELECT に AS キーワードで作成されたエイリアスを参照することはできません。(SELECT が評価されたかどうかを判断するため、WHERE 句は最初に評価されます。)

非 JSON ペイロードのある例:

`topic/subtopic` で公開された受信非 JSON ペイロード: `80`

SQL: `SELECT decode(encode(*, 'base64'), 'base64') AS value FROM 'topic/subtopic' WHERE decode(encode(*, 'base64'), 'base64') > 50

この場合、ルールはトリガーされますが、ルールで指定されたアクションは実行されません。送信ペイロードは SELECT 句によって JSON ペイロード {"value":80} として変換されます。