Tipos de datos
El motor de reglas de AWS IoT admite todos los tipos de datos JSON.
| Tipo | Significado |
|---|---|
Int |
Un discreto Int. 34 dígitos como máximo. |
Decimal |
Un valor notaAlgunas funciones devuelven valores Con SQL V2 (2016-03-23), los valores numéricos que son números enteros, como |
Boolean |
True o bien False. |
String |
Una cadena UTF-8. |
Array |
Una serie de valores que no han de tener obligatoriamente el mismo tipo. |
Object |
Un valor JSON compuesto de una clave y un valor. Las claves deben ser cadenas. Los valores pueden ser de cualquier tipo. |
Null |
NullValor , tal como lo define JSON. Es un valor real que representa la ausencia de valor. El usuario puede crear explícitamente un valor Null especificando la palabra clave Null en la instrucción SQL. Por ejemplo: .: "SELECT NULL AS n FROM
'topic/subtopic'" |
Undefined |
No es un valor. No se representa explícitamente en JSON, salvo que se omita el valor. Por ejemplo, en el objeto
se serializa en JSON como:
Del mismo modo, |
Conversiones
En la tabla siguiente se muestra una lista de los resultados que se producen cuando un valor de un tipo se convierte en otro tipo (cuando se da un valor de tipo incorrecto a una función). Por ejemplo, si a la función de valor absoluto "abs" (que espera un valor Int o Decimal) se le da un valor String, esta función intentará convertir el valor String en un valor Decimal, de acuerdo con estas reglas. En este caso, 'abs ("-5.123")' se trata como 'abs(-5.123)'.
nota
No hay ningún intento de conversión en Array, Object, Null o Undefined.
| Tipo de argumento | Resultado |
|---|---|
Int |
Valor Decimal sin separador decimal. |
Decimal |
El valor de origen. |
Boolean |
Undefined. (Puede utilizar de forma explícita la función cast para transformar true = 1.0, false = 0.0.) |
String |
El motor SQL intentará analizar la cadena como Decimal. AWS IoT intenta analizar las cadenas que coincidan con la expresión regular:^-?\d+(\.\d+)?((?i)E-?\d+)?$. "0", "-1.2", "5E-12" son ejemplos de cadenas que se convierten automáticamente en valores de tipo Decimal. |
| Matriz | Undefined. |
| Objeto | Undefined. |
| Nulo | Null. |
| Sin definir | Undefined. |
| Tipo de argumento | Resultado |
|---|---|
Int |
El valor de origen. |
Decimal |
El valor de origen redondeado al valor más cercano Int. |
Boolean |
Undefined. (Puede utilizar de forma explícita la función cast para transformar true = 1.0, false = 0.0.) |
String |
El motor SQL intentará analizar la cadena como Decimal. AWS IoT intenta analizar las cadenas que coincidan con la expresión regular:^-?\d+(\.\d+)?((?i)E-?\d+)?$. "0", "-1.2", "5E-12" son ejemplos de cadenas que se convierten automáticamente en valores de tipo Decimal. AWS IoT intenta convertir String en un valor Decimal y, a continuación, eliminar los decimales del valor Decimal para obtener un valor Int. |
| Matriz | Undefined. |
| Objeto | Undefined. |
| Nulo | Null. |
| Sin definir | Undefined. |
| Tipo de argumento | Resultado |
|---|---|
Int |
Undefined. (Puede utilizar de forma explícita la función cast para transformar 0 = False, any_nonzero_value = True.) |
Decimal |
Undefined. (Puede utilizar de forma explícita la función cast para transformar 0 = False, any_nonzero_value = True.) |
Boolean |
El valor original. |
String |
"true"= True y "false" = False (no distingue entre mayúsculas y minúsculas). Otros valores de string son Undefined. |
| Matriz | Undefined. |
| Objeto | Undefined. |
| Nulo | Undefined. |
| Sin definir | Undefined. |
| Tipo de argumento | Resultado |
|---|---|
Int |
Una representación de cadena del valor Int en notación estándar. |
Decimal |
Una cadena que representa el valor Decimal, posiblemente en notación científica. |
Boolean |
"true" o "false". Todos en minúscula. |
String |
El valor original. |
| Matriz | El valor Array serializado en formato JSON. La cadena obtenida es una lista separada por comas, entre corchetes. Los valores de tipo String se indican entre comillas. No así los valores de tipo Decimal, Int, Boolean y Null. |
| Objeto | El objeto serializado al formato JSON. La cadena obtenida es una lista separada por comas de pares clave-valor que comienza y termina con llaves. Los valores de tipo String se indican entre comillas. No así los valores de tipo Decimal, Int, Boolean y Null. |
| Nulo | Undefined. |
| Sin definir | Sin definir. |