AWS IoT SQL-Referenz - 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.

AWS IoT SQL-Referenz

In werden AWS IoTRegeln mit einer SQL-ähnlichen Syntax definiert. SQL-Anweisungen bestehen aus drei Typen von Klauseln:

SELECT

(Erforderlich) Extrahiert Informationen aus der Nutzlast einer eingehenden Nachricht und führt Veränderungen an den Informationen durch. Die zu verwendenden Nachrichten werden durch den in der FROM-Klausel angegebenen Themenfilter identifiziert.

Die SELECT-Klausel unterstützt Datentypen, Operatoren, Funktionen, Literale, Case-Anweisungen, JSON-Erweiterungen, Ersetzungsvorlagen Verschachtelte Objektabfragen und Binäre Nutzlasten.

FROM

Der MQTT-Themenfilter, der Nachrichten identifiziert, aus denen Daten extrahiert werden sollen. Die Regel wird für jede Meldung aktiviert, die an ein MQTT-Topic gesendet wird, das dem hier angegebenen Themenfilter entspricht. Erforderlich für Regeln, die durch Meldungen aktiviert werden, die den Message Broker durchlaufen. Optional für Regeln, die nur unter Verwendung von Basic Ingest ausgelöst werden.

WHERE

(Optional) Fügt eine Bedingungslogik hinzu, die bestimmt, ob die von einer Regel angegebenen Aktionen ausgeführt werden.

Die WHERE-Klausel unterstützt Datentypen, Operatoren, Funktionen, Literale, Case-Anweisungen, JSON-Erweiterungen, Ersetzungsvorlagen und Verschachtelte Objektabfragen.

Ein Beispiel für eine SQL-Anweisung sieht folgendermaßen aus:

SELECT color AS rgb FROM 'topic/subtopic' WHERE temperature > 50

Ein Beispiel für eine MQTT-Nachricht (auch eingehende Nutzlast genannt) sieht folgendermaßen aus:

{ "color":"red", "temperature":100 }

Wenn diese Nachricht im Topic 'topic/subtopic' veröffentlicht wird, wird die Regel ausgelöst und die SQL-Anweisung wird ausgewertet. Die SQL-Anweisung extrahiert den Wert der Eigenschaft color, wenn die Eigenschaft "temperature" größer als 50 ist. Die WHERE-Klausel legt die Bedingung temperature > 50 fest. Das Schlüsselwort AS benennt die Eigenschaft "color" in "rgb" um. Das Ergebnis (auch ausgehende Nutzlast genannt) sieht folgendermaßen aus:

{ "rgb":"red" }

Diese Daten werden anschließend an die Regelaktion weitergeleitet, die die Daten für eine weitere Verarbeitung versendet. Weitere Informationen zu Regelaktionen unter AWS IoT -Regelaktionen.

Anmerkung

Kommentare werden derzeit in der AWS IoT SQL-Syntax nicht unterstützt.

Attributnamen mit Leerzeichen können nicht als Feldnamen in der SQL-Anweisung verwendet werden. Die eingehende Nutzlast kann zwar Attributnamen mit Leerzeichen enthalten, solche Namen können jedoch nicht in der SQL-Anweisung verwendet werden. Sie werden jedoch an die ausgehende Nutzlast weitergegeben, wenn Sie einen Platzhalter (*) für den Feldnamen verwenden.