Supported data types (Tipos de datos admitidos)
Nota:
El servicio Time Series Insights se retirará el 7 de julio de 2024. Considere la posibilidad de migrar entornos existentes a soluciones alternativas lo antes posible. Para obtener más información sobre la depreciación y la migración, visite nuestra documentación.
En la tabla siguiente se enumeran los tipos de datos admitidos por Azure Time Series Insights Gen2
Tipo de dato | Descripción | Ejemplo | sintaxis de expresiones de series temporales | Nombre de la columna de propiedad en Parquet |
---|---|---|---|---|
bool | Tipo de datos que tiene uno de dos estados: true o false . |
"isQuestionable" : true |
$event.isQuestionable.Bool o $event['isQuestionable'].Bool |
isQuestionable_bool |
datetime | Representa un instante de tiempo, normalmente expresado en forma de fecha y hora del día. Se expresa en formato ISO 8601. Las propiedades DateTime siempre se almacenan en formato UTC. Los desplazamientos de zona horaria, si tiene el formato correcto, se aplicarán y, luego, el valor se almacenará en UTC. Consulte esta sección para obtener más información sobre la propiedad de marca de tiempo del entorno y los desplazamientos de fecha y hora | "eventProcessedLocalTime": "2020-03-20T09:03:32.8301668Z" |
Si "eventProcessedLocalTime" es la marca de tiempo del origen del evento: $event.$ts . Si es otra propiedad JSON: $event.eventProcessedLocalTime.DateTime o $event['eventProcessedLocalTime'].DateTime |
eventProcessedLocalTime_datetime |
double | Un número de doble precisión de 64 bits | "value": 31.0482941 |
$event.value.Double o $event['value'].Double |
value_double |
long | un entero de 64 bits con signo. | "value" : 31 |
$event.value.Long o $event['value'].Long |
value_long |
cadena | Los valores de texto deben consistir en UTF-8 válidos. Las cadenas NULL y vacías se tratan de la misma forma. | "site": "DIM_MLGGG" |
$event.site.String o $event['site'].String |
site_string |
dinámico | Tipo complejo (no primitivo) que consta de una matriz o un contenedor de propiedades (diccionario). Actualmente, solo se almacenarán como dinámicas las matrices JSON en formato texto de elementos primitivos o las matrices de objetos que no contienen la propiedad de identificador de TS ni las propiedades de marca de tiempo. Consulte este artículo para comprender cómo se aplanarán los objetos y se podrán expandir las matrices. Solo se puede tener acceso a las propiedades de carga almacenadas como este tipo si se selecciona Explore Events en el Explorador de Time Series Insights para ver eventos sin procesar, o mediante la API de consulta GetEvents para el análisis del lado cliente. |
"values": "[197, 194, 189, 188]" |
Todavía no se admite la referencia a tipos dinámicos en una expresión de serie temporal. | values_dynamic |
Nota:
Se admiten valores enteros de 64 bits, pero el número más grande que el Explorador de Azure Time Series Insights puede expresar con seguridad es 9 007 199 254 740 991 (2^53-1) debido a las limitaciones de JavaScript. Si trabaja con números en el modelo de datos anterior, puede reducir el tamaño creando una variable de modelo de serie temporal y convirtiendo el valor.
Nota:
El tipo Cadena no admite valores NULL:
- Una expresión de serie temporal (TSX) expresada en una consulta de serie temporal que compara el valor de una cadena vacía ('') con NULL se comportará de la misma manera:
$event.siteid.String = NULL
es equivalente a$event.siteid.String = ''
. - La API puede devolver valores NULL incluso si los eventos originales contenían cadenas vacías.
- No dependa de valores NULL en columnas de texto para realizar comparaciones o evaluaciones, trátelos como cadenas vacías.
Envío de tipos de datos mixtos
El entorno de Azure Time Series Insights Gen2 está fuertemente tipado. Si los dispositivos o etiquetas envían datos de diferentes tipos para una propiedad de dispositivo, los valores se almacenarán en dos columnas separadas y la función coalesce() deberá usarse al definir las expresiones de las variables del modelo de serie temporal en las llamadas API.
El explorador de Azure Time Series Insights ofrece una manera de coagrupar automáticamente las columnas separadas de la misma propiedad de dispositivo. En el ejemplo siguiente, el sensor envía una propiedad PresentValue
que puede ser un valor Long o Double. Para realizar una consulta a todos los valores almacenados (independientemente del tipo de datos) de la propiedad PresentValue
, elija PresentValue (Double | Long)
y las columnas se fusionarán automáticamente.
Objetos y matrices
Puede enviar tipos complejos, como objetos y matrices, como parte de la carga del evento. Los objetos anidados se aplanarán y los arreglos se almacenarán como dynamic
o se desanidarán para generar varios eventos dependiendo de la configuración de su entorno y la estructura de JSON. Para obtener más información, lea sobre las Reglas de aplanamiento y escape de JSON
Pasos siguientes
Lea las reglas de aplanamiento y escape de JSON y para comprender cómo se almacenarán los eventos.
Comprender las limitaciones de rendimiento del entorno
Obtenga información sobre Orígenes de eventos para ingerir datos en streaming.