SQL-Versionen - 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.

SQL-Versionen

Die AWS IoT Regel-Engine verwendet eine SQL-ähnliche Syntax, um Daten aus MQTT-Nachrichten auszuwählen. Die SQL-Anweisungen werden auf Grundlage einer SQL-Version interpretiert, die mit der Eigenschaft awsIotSqlVersion in einem JSON-Dokument angegeben ist, welches die Regel beschreibt. Weitere Informationen zur Struktur von JSON-Regeldokumenten unter Erstellen einer Regel. Mit der awsIotSqlVersion Eigenschaft können Sie angeben, welche Version der AWS IoT SQL-Regel-Engine Sie verwenden möchten. Wenn eine neue Version bereitgestellt wird, können Sie weiterhin eine frühere Version verwenden oder die Regel ändern, damit sie die neue Version nutzt. Die aktuellen Regeln verwenden weiterhin die Version, mit der sie erstellt wurden.

Das folgende JSON-Beispiel zeigt, wie die SQL-Version mit der Eigenschaft awsIotSqlVersion angegeben wird:

{ "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 unterstützt derzeit die folgenden SQL-Versionen:

  • 2016-03-23 – Die SQL-Version von 23.03.2016 (empfohlen).

  • 2015-10-08 – Die ursprüngliche SQL-Version von 08.10.2015.

  • beta – Die neueste Beta-SQL-Version. Mit dieser Version können Sie die Regeln grundlegend ändern.

Neuerungen in der Version der SQL-Regel-Engine vom 23.03.2016

  • Lösungen für das Auswählen verschachtelter JSON-Objekte

  • Lösungen für Array-Abfragen

  • Unterstützung von Intra-Objektabfragen. Weitere Informationen finden Sie unter Verschachtelte Objektabfragen.

  • Unterstützung zum Ausgeben eines Arrays als oberstes Objekt

  • Hinzufügen der encode(value, encodingScheme)-Funktion, die auf JSON- und Nicht-JSON-Formatdaten angewendet werden kann. Weitere Informationen finden Sie unter Encode-Funktion.

Ausgeben von Array als oberstes Objekt

Diese Funktion ermöglicht eine Regel, mit der ein Array als oberstes Objekt zurückgegeben wird. Als Beispiel dient etwa die folgende MQTT-Nachricht:

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

Und die folgende Regel:

SELECT VALUE arr FROM 'topic'

Die Regel generiert folgenden Output:

[1,2,3,4]