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.
AWS IoT Référence SQL
Dans AWS IoT, les règles sont définies à l'aide d'une syntaxe de type SQL. Les instructions SQL se composent de trois types de clauses :
- SELECT
-
(Obligatoire) Extrait des informations de la charge utile d’un message entrant et effectue des transformations sur ces informations. Les messages à utiliser sont identifiés par le filtre de rubrique spécifié dans la clause FROM.
La clause SELECT prend en charge Types de données, Opérateurs, Fonctions, Littéraux, Instructions Case, Extensions JSON, Modèles de substitution, Requêtes d'objets imbriqués, et Charges utiles binaires.
- FROM
-
Le filtre de sujet des messages MQTT qui identifie les messages dont les données doivent être extraites. La règle est activée pour chaque message envoyé à une rubrique MQTT qui correspond au filtre de rubrique défini ici. Requis pour les règles qui sont activées par les messages qui passent par l’agent de messages. Facultatif pour les règles qui sont activées uniquement à l’aide de la fonctionnalité Basic Ingest.
- WHERE
-
(Facultatif) Ajoute une logique conditionnelle qui détermine si les actions spécifiées par une règle sont 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.
Un exemple d'instruction SQL se présente sous la forme suivante :
SELECT color AS rgb FROM 'topic/subtopic' WHERE temperature > 50
Un exemple de message MQTT (également appelé charge entrante) se présente sous la forme suivante :
{ "color":"red", "temperature":100 }
Si ce message est publié dans la rubrique 'topic/subtopic'
, la règle est déclenchée et l'instruction SQL est évaluée. L'instruction SQL extrait la valeur de la propriété color
si la propriété "temperature"
est supérieure à 50. La clause WHERE spécifie la condition temperature > 50
. Le mot-clé AS
change le nom de la propriété "color"
en "rgb"
. Le résultat (également appelé charge sortante) se présente sous la forme suivante :
{ "rgb":"red" }
Ces données sont alors transférées vers l'action de la règle qui envoie les données pour traitement supplémentaire. Pour plus d'informations sur les actions de règle, consultez AWS IoT actions liées aux règles.
Note
Les commentaires ne sont actuellement pas pris en charge dans la syntaxe AWS IoT SQL.
Les noms d’attributs contenant des espaces ne peuvent pas être utilisés comme noms de champs dans l’instruction SQL. Bien que la charge utile entrante puisse comporter des noms d’attributs contenant des espaces, ces noms ne peuvent pas être utilisés dans l’instruction SQL. Ils seront toutefois transmis à la charge utile sortante si vous utilisez une spécification de nom de champ générique (*).