Requêtes d'objets imbriqués - 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.

Requêtes d'objets imbriqués

Vous pouvez utiliser des clauses SELECT imbriquées pour interroger les attributs dans les tableaux et les objets JSON internes. Pris en charge par SQL 2016-03-23 et versions ultérieures.

Examinez le message MQTT suivant :

{ "e": [ { "n": "temperature", "u": "Cel", "t": 1234, "v": 22.5 }, { "n": "light", "u": "lm", "t": 1235, "v": 135 }, { "n": "acidity", "u": "pH", "t": 1235, "v": 7 } ] }
Exemple

Vous pouvez convertir des valeurs en un nouveau tableau avec la règle suivante.

SELECT (SELECT VALUE n FROM e) as sensors FROM 'my/topic'

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

{ "sensors": [ "temperature", "light", "acidity" ] }
Exemple

En utilisant le même message MQTT, vous pouvez également interroger une valeur spécifique dans un objet imbriqué avec la règle suivante.

SELECT (SELECT v FROM e WHERE n = 'temperature') as temperature FROM 'my/topic'

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

{ "temperature": [ { "v": 22.5 } ] }
Exemple

Vous pouvez également aplatir la sortie avec une règle plus compliquée.

SELECT get((SELECT v FROM e WHERE n = 'temperature'), 0).v as temperature FROM 'topic'

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

{ "temperature": 22.5 }