Query di oggetti nidificati - AWS IoT Core

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Query di oggetti nidificati

Puoi utilizzare le clausole SELECT nidificate per eseguire le query sugli attributi all'interno di matrici e oggetti JSON interni. Supportata da SQL versione 2016-03-23 e versioni successive.

Considera il seguente messaggio MQTT:

{ "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 } ] }
Esempio

Puoi convertire i valori in una nuova matrice con la seguente regola.

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

La regola genera l'output seguente.

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

Utilizzando lo stesso messaggio MQTT, puoi anche eseguire le query su un valore specifico all'interno di un oggetto nidificato con la seguente regola.

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

La regola genera l'output seguente.

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

Puoi anche livellare l'output con una regola più complicata.

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

La regola genera l'output seguente.

{ "temperature": 22.5 }