Types de données - AWS IoT Core

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Types de données

Le moteur de AWS IoT règles prend en charge tous les types de données JSON.

Types de données pris en charge
Type Signification
Int Un Int discret. 34 chiffres maximum.
Decimal

Une valeur Decimal avec une précision de 34 chiffres, avec une magnitude non nulle de 1E-999 et une magnitude maximale de 9.999…E999.

Note

Certaines fonctions renvoient des valeurs Decimal avec double précision plutôt qu’avec une précision de 34 chiffres.

Avec SQL V2 (2016-03-23), les valeurs numériques qui sont des nombres entiers, telles que 10.0, sont traitées comme une valeur Int (10) au lieu de la valeur Decimal attendue (10.0). Pour traiter de manière fiable des valeurs numériques entières en tant que Decimal valeurs, utilisez SQL V1 (2015-10-08) pour l’instruction de requête de règle.

Boolean True ou False.
String Une chaîne UTF-8.
Array Une série de valeurs qui ne sont pas nécessairement du même type.
Object Une valeur JSON composée d'une clé et d'une valeur. Les clés doivent être des chaînes. Les valeurs peuvent être de n'importe quel type.
Null Null comme défini par JSON. C'est une valeur réelle qui représente l'absence d'une valeur. Vous pouvez créer une valeur Null en utilisant le mot-clé Null dans votre instruction SQL. Par exemple : "SELECT NULL AS n FROM 'topic/subtopic'"
Undefined

Ce n'est pas une valeur. Non représenté dans JSON, sauf en omettant la valeur. Par exemple, dans l'objet {"foo": null}, la clé « foo » renvoie NULL, mais la clé « bar » renvoie Undefined. En interne, le langage SQL traite Undefined comme une valeur, mais il ne peut pas être représenté dans JSON, donc quand il est sérialisé au format JSON, les résultats sont Undefined.

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

est sérialisé au format JSON comme suit :

{"foo":null}

De même, Undefined est converti en chaîne vide lorsqu'il est sérialisé par lui-même. Les fonctions appelées avec des arguments non valides (par exemple, des types incorrects, un nombre d'arguments incorrect, etc.) renvoient Undefined.

Conversions

Le tableau suivant répertorie les résultats lorsqu'une valeur d'un type est convertie dans un autre type (lorsqu'une valeur d'un type incorrect est transmise à une fonction). Par exemple, si la fonction de valeur absolue « abs » (qui prévoit une valeur Int ou Decimal) reçoit une valeur String, elle tente de convertir la valeur String en Decimal, en respectant ces règles. Dans ce cas, « abs("-5.123") » est traité comme « abs(-5.123) ».

Note

Il n'y a aucune tentative de conversion en Array, Object, Null ou Undefined.

En valeur décimale
Type d'argument Résultat
Int Un chiffre Decimal sans virgule décimale.
Decimal La valeur source.
Boolean Undefined. (Vous pouvez explicitement utiliser la fonction cast pour transformer true = 1.0, false = 0.0.)
String Le moteur SQL essaie d'analyser la chaîne en tant Decimal que. AWS IoT tente d'analyser les chaînes correspondant à l'expression régulière :^-?\d+(\.\d+)?((?i)E-?\d+)?$. « 0 », « -1.2 », « 5E-12 » sont des exemples de chaînes qui sont automatiquement converties en valeurs Decimal.
Tableau Undefined.
Objet Undefined.
Null Null.
Non défini Undefined.
En Entier
Type d'argument Résultat
Int La valeur source.
Decimal La valeur source arrondie à la valeur Int la plus proche.
Boolean Undefined. (Vous pouvez explicitement utiliser la fonction cast pour transformer true = 1.0, false = 0.0.)
String Le moteur SQL essaie d'analyser la chaîne en tant Decimal que. AWS IoT tente d'analyser les chaînes correspondant à l'expression régulière :^-?\d+(\.\d+)?((?i)E-?\d+)?$. « 0 », « -1,2 », « 5E-12 » sont tous des exemples de chaînes converties automatiquement en Decimal s. AWS IoT tente de convertir le en aDecimal, puis en tronque les décimales String pour en faire un. Decimal Int
Tableau Undefined.
Objet Undefined.
Null Null.
Non défini Undefined.
En valeur booléenne
Type d'argument Résultat
Int Undefined. (Vous pouvez explicitement utiliser la fonction cast pour transformer 0 = False, any_nonzero_value = True.)
Decimal Undefined. (Vous pouvez explicitement utiliser la fonction cast pour transformer 0 = False, any_nonzero_value = True.)
Boolean La valeur d'origine.
String « true »=True et « false »=False (insensible à la casse). Les autres valeurs de chaînes sont : Undefined.
Tableau Undefined.
Objet Undefined.
Null Undefined.
Non défini Undefined.
En chaîne
Type d'argument Résultat
Int Une représentation de chaîne de la valeur Int en notation standard.
Decimal Une chaîne représentant la valeur Decimal, probablement en notation scientifique.
Boolean « true » ou « false ». Tout en minuscules.
String La valeur d'origine.
Tableau Le Array sérialisé au format JSON. La chaîne résultante est une liste de valeurs séparées par des virgules, délimitées par des crochets. Une valeur String est indiquée entre guillemets. Pas les valeurs Decimal, Int, Boolean et Null.
Objet L'objet sérialisé au format JSON. La chaîne résultante est une liste de paires clé-valeur séparées par des virgules, qui commence et se termine par des accolades. Une valeur String est indiquée entre guillemets. Pas les valeurs Decimal, Int, Boolean et Null.
Null Undefined.
Non défini Non défini.