Versions de SQL - 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.

Versions de SQL

Le moteur de AWS IoT règles utilise une syntaxe de type SQL pour sélectionner les données des messages MQTT. Les instructions SQL sont interprétées en fonction d'une version SQL spécifiée avec la propriété awsIotSqlVersion dans un document JSON qui décrit la règle. Pour plus d'informations sur la structure des documents de règle JSON, consultez Création d'une règle. La awsIotSqlVersion propriété vous permet de spécifier la version du moteur de règles AWS IoT SQL que vous souhaitez utiliser. Lorsqu'une nouvelle version est déployée, vous pouvez continuer à utiliser une version antérieure ou modifier votre règle pour utiliser la nouvelle version. Vos règles actuelles continuent d'utiliser la version avec laquelle elles ont été créées.

L'exemple de code JSON suivant montre comment spécifier la version SQL à l'aide la propriété awsIotSqlVersion.

{ "sql": "expression", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [{ "republish": { "topic": "my-mqtt-topic", "roleArn": "arn:aws:iam::123456789012:role/my-iot-role" } }] }

AWS IoT prend actuellement en charge les versions SQL suivantes :

  • 2016-03-23 – La version SQL construite le 23/03/2016 (recommandée).

  • 2015-10-08 – La version de SQL d’origine créée le 08-10-2015.

  • beta – La version bêta de SQM la plus récente. Cette version pourrait introduire des modifications radicales dans vos règles.

Nouveautés de la version 2016-03-23 du moteur de règles SQL

  • Correctifs pour sélectionner les objets JSON imbriqués.

  • Correctifs pour les requêtes de tableaux.

  • Prise en charge des requêtes inter-objet. Pour plus d’informations, consultez Requêtes d'objets imbriqués.

  • Prise en charge de la génération en sortie d'un tableau comme un objet de niveau supérieur.

  • Ajout de la fonction encode(value, encodingScheme), qui peut être appliquée sur les données de format JSON et non-JSON. Pour plus d'informations, consultez la fonction d'encodage.

Générer un Array en sortie comme un objet de niveau supérieur

Cette fonction permet à une règle de retourner un tableau comme un objet de niveau supérieur. Par exemple, avec le message MQTT suivant :

{ "a": {"b":"c"}, "arr":[1,2,3,4] }

Et la règle suivante :

SELECT VALUE arr FROM 'topic'

La règle génère le résultat suivant.

[1,2,3,4]