Verschachtelte Objektabfragen - AWS IoT Core

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verschachtelte Objektabfragen

Sie können verschachtelte SELECT-Klauseln verwenden, um Attribute in Arrays und inneren JSON-Objekten abzufragen. Unterstützt von der SQL Version vom 23.03.2016 und höher.

Betrachten Sie die folgende MQTT-Meldung:

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

Sie können Werte in ein neues Array mit der folgenden Regel konvertieren.

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

Die Regel generiert folgenden Output:

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

Mit derselben MQTT-Meldung können Sie auch einen bestimmten Wert innerhalb eines verschachtelten Objekts mit der folgenden Regel abfragen.

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

Die Regel generiert folgenden Output:

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

Sie können die Ausgabe auch mit einer komplizierteren Regel glätten.

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

Die Regel generiert folgenden Output:

{ "temperature": 22.5 }