Datentypen - 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.

Datentypen

Die AWS IoT Regel-Engine unterstützt alle JSON-Datentypen.

Unterstützte Datentypen
Typ Bedeutung
Int Eine separate Int. Maximal 34 Ziffern.
Decimal

Ein Decimal-Wert mit genau 34 Zeichen mit einer Mindestgröße von 1E-999 (nicht Null) und einer Maximalgröße von 9.999...E999.

Anmerkung

Einige Funktionen geben Decimal-Werte mit doppelter Genauigkeit anstelle von genau 34 Zeichen aus.

Mit SQL V2 (23.03.2016) werden numerische Werte, die ganze Zahlen sind, wie z. B.10.0, als Int Wert (10) statt als erwarteter Decimal Wert () verarbeitet. 10.0 Um ganzzahlige numerische Werte zuverlässig als Decimal-Werte zu verarbeiten, verwenden Sie SQL V1 (2015-10-08) für die Regelabfrageanweisung.

Boolean True oder False.
String Eine UTF-8-Zeichenfolge
Array Eine Serie von Werten, die nicht den gleichen Typ aufweisen müssen
Object Ein JSON-Wert, der aus einem Schlüssel und einem Wert besteht. Schlüssel müssen Zeichenfolgen sein. Werte können jeden Typ aufweisen.
Null Null wie von JSON definiert. Dies ist ein tatsächlicher Wert, der die Abwesenheit eines Werts darstellt. Sie können einen Null-Wert explizit erstellen, indem Sie das Schlüsselwort Null in Ihrer SQL-Anweisung verwenden. Beispiel: "SELECT NULL AS n FROM 'topic/subtopic'"
Undefined

Kein Wert. Dies kann in JSON nicht explizit dargestellt werden, außer durch Auslassen des Werts. Z. B. im Objekt {"foo": null} gibt der Schlüssel "foo" NULL zurück, der Schlüssel "bar" jedoch Undefined. Intern behandelt die SQL-Sprache Undefined als Wert, kann jedoch nicht in JSON dargestellt werden. Bei einer Serialisierung in JSON sind die Ergebnisse daher Undefined.

{"foo":null, "bar":undefined}

wird in JSON serialisiert als:

{"foo":null}

Dementsprechend wird Undefined in eine leere Zeichenfolge konvertiert, wenn es selbst konvertiert wird. Funktionen, die mit ungültigen Argumenten aufgerufen werden (z. B. falsche Typen, falsche Anzahl an Argumenten usw.), geben Undefined zurück.

Konversionen

Die folgende Tabelle listet die Ergebnisse auf, wenn ein Wert eines Typs in einen anderen Typ konvertiert wird (wenn ein Wert mit dem falschen Typ an eine Funktion übergeben wird). Wenn beispielsweise der absoluten Wertfunktion "abs" (die Int oder Decimal erwartet) ein String-Wert übergeben wird, versucht diese, den String-Wert nach diesen Regeln in einen Decimal-Wert umzuwandeln. In diesem Fall wird "abs("-5.123")" als "abs(-5.123)" behandelt.

Anmerkung

Konversionen in Array, Object, Null oder Undefined werden nicht versucht.

In Dezimalwerte
Argumenttyp Ergebnis
Int Ein Wert vom Typ Decimal ohne Dezimaltrennzeichen
Decimal Der Quellwert
Boolean Undefined. (Sie können die cast-Funktion explizit zum Umwandeln von true = 1.0, false = 0.0 verwenden.)
String Die SQL-Engine versucht, die Zeichenfolge als Decimal zu analysieren. AWS IoT versucht, Zeichenketten zu analysieren, die dem regulären Ausdruck entsprechen:. ^-?\d+(\.\d+)?((?i)E-?\d+)?$ „0“, „-1,2“ und „5E-12“ sind Beispiele für Zeichenfolgen, die automatisch in Werte des Typs Decimal umgewandelt werden.
Array Undefined.
Object Undefined.
Null Null.
Undefined Undefined.
In Ganzzahlen
Argumenttyp Ergebnis
Int Der Quellwert
Decimal Der Quellwert, auf den nächsten Int-Wert gerundet.
Boolean Undefined. (Sie können die cast-Funktion explizit zum Umwandeln von true = 1.0, false = 0.0 verwenden.)
String Die SQL-Engine versucht, die Zeichenfolge als zu analysieren. Decimal AWS IoT versucht, Zeichenketten zu analysieren, die dem regulären Ausdruck entsprechen:. ^-?\d+(\.\d+)?((?i)E-?\d+)?$ „0", „-1.2", „5E-12" sind alles Beispiele für Zeichenketten, die automatisch in Decimal s umgewandelt werden. AWS IoT versucht, das in a umzuwandelnDecimal, und schneidet dann die String Dezimalstellen ab, um eine zu bilden. Decimal Int
Array Undefined.
Object Undefined.
Null Null.
Undefined Undefined.
In Boolesche Werte
Argumenttyp Ergebnis
Int Undefined. (Sie können die cast-Funktion explizit zum Umwandeln von 0 = False, any_nonzero_value = True verwenden.)
Decimal Undefined. (Sie können die cast-Funktion explizit zum Umwandeln von 0 = False, any_nonzero_value = True verwenden.)
Boolean Der ursprüngliche Wert
String "true"=wahr und "false"=falsch (ohne Beachtung der Groß- und Kleinschreibung). Andere Zeichenfolgenwerte sind Undefined.
Array Undefined.
Object Undefined.
Null Undefined.
Undefined Undefined.
In Zeichenfolgen
Argumenttyp Ergebnis
Int Eine Zeichenfolgendarstellung des Int-Werts in Standardnotation
Decimal Eine Zeichenfolge, die den Decimal-Wert in Standardnotation darstellt
Boolean "true" oder "false". Alles in Kleinbuchstaben.
String Der ursprüngliche Wert
Array Das in JSON serialisierte Array. Die resultierende Zeichenfolge ist eine durch Kommata getrennte Liste in eckigen Klammern. Ein String ist von Anführungszeichen umschlossen. Decimal, Int, Boolean und Null sind dies nicht.
Object Das in JSON serialisierte Objekt. Die resultierende Zeichenfolge ist eine durch Kommata getrennte Liste von Schlüssel-Wert-Paaren, die mit geschweiften Klammern beginnt und endet. Ein String ist von Anführungszeichen umschlossen. Decimal, Int, Boolean und Null sind dies nicht.
Null Undefined.
Undefined Undefined