Clause WHERE - AWS IoT Core

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Clause WHERE

La clause WHERE détermine si les actions spécifiées par une règle sont exécutées. Si la clause WHERE évalue sur true, les actions de règle sont exécutées. Sinon, les actions de règle ne sont pas exécutées.

La clause WHERE prend en charge Types de données, Opérateurs, Fonctions, Littéraux, Instructions Case, Extensions JSON, Modèles de substitution et Requêtes d'objets imbriqués.

Exemple :

Charge utile entrante publiée dans topic/subtopic : {"color":"red", "temperature":40}.

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

Dans ce cas, la règle sera déclenchée mais les actions spécifiées par cette règle ne seront pas exécutées. Il n’y aura aucune charge utile sortante.

Vous pouvez utiliser des fonctions et des opérateurs dans une clause WHERE. Toutefois, vous ne pouvez pas faire référence à des alias créés avec le mot-clé AS dans la clause SELECT. (La clause WHERE est évaluée en premier pour déterminer si la clause SELECT doit être évaluée.)

Exemple avec une charge utile non JSON :

Charge utile non JSON entrante publiée sur « rubrique/sous-rubrique » : « 80 »

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

Dans ce cas, la règle sera déclenchée mais les actions spécifiées par cette règle ne seront pas exécutées. La charge utile sortante sera transformée par la clause SELECT en charge utile JSON {"value":80}.