Tipi di dati - AWS IoT Core

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Tipi di dati

Il motore AWS IoT delle regole supporta tutti i tipi di dati JSON.

Tipi di dati supportati
Type Significato
Int Un discreto Int. 34 cifre al massimo.
Decimal

Tipo Decimal con una precisione di 34 cifre, con grandezza minima diversa da zero corrispondente a 1E-999 e grandezza massima di 9.999…E999.

Nota

Alcune funzioni restituiscono valori Decimal a precisione doppia invece di 34 cifre di precisione.

Con SQL V2 (23/03/2016), valori numerici che sono numeri interi, come 10.0, vengono elaborati come un valore Int (10) invece del previsto valore Decimal (10.0). Per elaborare in modo affidabile valori numerici interi come i valori Decimal, utilizzare SQL V1 (08/10/2015) per l'istruzione di query della regola.

Boolean True o False.
String Stringa UTF-8.
Array Serie di valori non necessariamente dello stesso tipo.
Object Valore JSON costituito da una chiave e un valore. Le chiavi devono essere stringhe. I valori possono essere di qualsiasi tipo.
Null Null come definito da JSON. Si tratta di un valore effettivo che rappresenta l'assenza di un valore. È possibile creare in modo esplicito un valore Null usando la parola chiave Null nell'istruzione SQL. Ad esempio: "SELECT NULL AS n FROM 'topic/subtopic'"
Undefined

Non un valore. Non si tratta di in tipo rappresentabile in modo esplicito in JSON, se non omettendo il valore. Ad esempio, nell'oggetto {"foo": null} la chiave "foo" restituisce NULL, ma la chiave "bar" restituisce Undefined. Internamente, il linguaggio SQL tratta Undefined come un valore, ma questo tipo non è rappresentabile in JSON, quindi quando viene serializzato in JSON i risultati sono Undefined.

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

viene serializzato in JSON come:

{"foo":null}

Analogamente, Undefined viene convertito in una stringa vuota quando serializzato. Le funzioni chiamate con argomenti non validi (ad esempio tipi errati, numero errato di argomenti e così via) restituiscono Undefined.

Conversioni

La tabella seguente elenca i risultati quando un valore di un tipo viene convertito in un altro tipo (quando un valore del tipo non corretto viene fornito a una funzione). Se, ad esempio, alla funzione di valore assoluto "abs" (che richiede un tipo Int o Decimal) viene passato un tipo String, viene eseguito un tentativo di convertire String in Decimal, seguendo queste regole. In questo caso, 'abs("-5.123")' viene trattato come 'abs(-5.123)'.

Nota

Non vengono eseguiti tentativi di conversione in un tipo ArrayObject, Null o Undefined.

Nel tipo Decimal
Tipo di argomento Risultato
Int Tipo Decimal senza separatore decimale.
Decimal Valore di origine.
Boolean Undefined. (È possibile usare in modo esplicito la funzione cast per trasformare true = 1.0, false = 0.0.)
String Il motore SQL tenta di analizzare la stringa come una. Decimal AWS IoT tenta di analizzare le stringhe che corrispondono all'espressione regolare:. ^-?\d+(\.\d+)?((?i)E-?\d+)?$ "0", "-1.2", "5E-12" sono tutti esempi di stringhe che vengono convertite automaticamente in tipi Decimal.
Array Undefined.
Oggetto Undefined.
Null Null.
Undefined Undefined.
Nel tipo Int
Tipo di argomento Risultato
Int Valore di origine.
Decimal Valore di origine arrotondato al valore Int più vicino.
Boolean Undefined. (È possibile usare in modo esplicito la funzione cast per trasformare true = 1.0, false = 0.0.)
String Il motore SQL tenta di analizzare la stringa come una. Decimal AWS IoT tenta di analizzare le stringhe che corrispondono all'espressione regolare:. ^-?\d+(\.\d+)?((?i)E-?\d+)?$ «0", «-1.2", «5E-12" sono tutti esempi di stringhe che vengono convertite automaticamente in Decimal s. AWS IoT Tenta di convertirle in aDecimal, quindi tronca le String posizioni decimali per formare un. Decimal Int
Array Undefined.
Oggetto Undefined.
Null Null.
Undefined Undefined.
Nel tipo Boolean
Tipo di argomento Risultato
Int Undefined. (È possibile usare in modo esplicito la funzione cast per trasformare 0 = False, any_nonzero_value = True).
Decimal Undefined. (È possibile usare in modo esplicito la funzione cast per trasformare 0 = False, qualsiasi_valore_diverso_da_zero = True.)
Boolean Valore originale.
String "true"=True e "false"=False (senza distinzione tra maiuscole e minuscole). Altri valori stringa sono Undefined.
Array Undefined.
Oggetto Undefined.
Null Undefined.
Undefined Undefined.
Nel tipo String
Tipo di argomento Risultato
Int Rappresentazione di stringa del tipo Int in notazione standard.
Decimal Stringa che rappresenta il valore Decimal, possibilmente in notazione scientifica.
Boolean "true" o "false". Tutto in caratteri minuscoli.
String Valore originale.
Array Tipo Array serializzato in JSON. La stringa risultante è un elenco separato da virgole, racchiuso tra parentesi quadre. I tipi String sono racchiusi tra virgolette. I tipi Decimal, Int, Boolean e Null non sono racchiusi tra virgolette.
Oggetto Oggetto serializzato in JSON. La stringa risultante è un elenco separato da virgole di coppie chiave-valore e inizia e termina con parentesi graffe. I tipi String sono racchiusi tra virgolette. I tipi Decimal, Int, Boolean e Null non sono racchiusi tra virgolette.
Null Undefined.
Undefined Undefined.