Tipos de dados suportados
Observação
O serviço Time Series Insights será desativado em 7 de julho de 2024. Considere migrar os ambientes existentes para soluções alternativas o mais rápido possível. Para mais informações sobre a descontinuação e a migração, visite a nossa documentação .
A tabela a seguir lista os tipos de dados suportados pelo Azure Time Series Insights Gen2
Tipo de dados | Descrição | Exemplo | Sintaxe da Expressão de Série Temporal | Nome da coluna da propriedade no Parquet |
---|---|---|---|---|
bool | Um tipo de dados com um de dois estados: true ou false . |
"isQuestionable" : true |
$event.isQuestionable.Bool ou $event['isQuestionable'].Bool |
isQuestionable_bool |
data e hora | Representa um instante no tempo, normalmente expresso como uma data e hora do dia. Expresso em formato ISO 8601. As propriedades datetime são sempre armazenadas no formato UTC. Os deslocamentos de fuso horário, se formatados corretamente, serão aplicados e depois o valor será armazenado em UTC. Consulte esta seção |
"eventProcessedLocalTime": "2020-03-20T09:03:32.8301668Z" |
Se "eventProcessedLocalTime" for o carimbo de data/hora de origem do evento: $event.$ts . Se for outra propriedade JSON: $event.eventProcessedLocalTime.DateTime ou $event['eventProcessedLocalTime'].DateTime |
eventProcessedLocalTime_datetime |
duplo | Um número de 64 bits de precisão dupla | "value": 31.0482941 |
$event.value.Double ou $event['value'].Double |
value_double |
longo | Um inteiro de 64 bits assinado | "value" : 31 |
$event.value.Long ou $event['value'].Long |
value_long |
string | Os valores de texto, devem consistir em UTF-8 válido. Cadeias de caracteres nulas e vazias são tratadas da mesma forma. | "site": "DIM_MLGGG" |
$event.site.String ou $event['site'].String |
site_string |
dinâmica | Um tipo complexo (não primitivo) que consiste em uma matriz ou um pacote de propriedades (dicionário). Atualmente, apenas matrizes JSON stringidas de primitivas ou matrizes de objetos que não contenham a ID TS ou a(s) propriedade(s) de carimbo de data/hora serão armazenadas como dinâmicas. Leia este artigo para entender como os objetos serão nivelados e as matrizes podem ser desenroladas. As propriedades de carga útil armazenadas como esse tipo só são acessíveis selecionando Explore Events no Time Series Insights Explorer para exibir eventos brutos ou por meio da API de Consulta GetEvents para análise do lado do cliente. |
"values": "[197, 194, 189, 188]" |
Ainda não há suporte para a referência a tipos dinâmicos em uma expressão de série temporal | values_dynamic |
Observação
Há suporte para valores inteiros de 64 bits, mas o maior número que o Azure Time Series Insights Explorer pode expressar com segurança é 9.007.199.254.740.991 (2^53-1) devido a limitações de JavaScript. Ao trabalhar com números no seu modelo de dados acima, poderá reduzir o tamanho criando uma variável Time Series Model e convertendo o valor.
Observação
O tipo de cadeia não é anulável:
- Uma Expressão de Série Temporal (TSX) expressa em uma Consulta de Série Temporal comparando o valor de uma cadeia de caracteres vazia ('') com NULL se comportará da mesma maneira:
$event.siteid.String = NULL
é equivalente a$event.siteid.String = ''
. - A API pode retornar valores NULL mesmo que os eventos originais contenham cadeias vazias.
- Não dependa de valores de NULL em colunas String para fazer comparações ou avaliações, trate-as da mesma forma que cadeias vazias.
Enviando tipos de dados mistos
Seu ambiente do Azure Time Series Insights Gen2 é fortemente tipado. Se dispositivos ou tags enviarem dados de tipos diferentes para uma propriedade de dispositivo, os valores serão armazenados em duas colunas separadas e a função coalesce() deverá ser usada ao definir suas expressões de Variável de Modelo de Série Temporal em chamadas de API.
O Azure Time Series Insights Explorer oferece uma maneira de aglutinar automaticamente as várias colunas de uma mesma propriedade de dispositivo. No exemplo abaixo, o sensor envia uma propriedade PresentValue
que pode ser Long ou Double. Para consultar todos os valores armazenados (independentemente do tipo de dados) da propriedade PresentValue
, escolha PresentValue (Double | Long)
e as colunas serão aglutinadas para você.
Objetos e matrizes
Você pode enviar tipos complexos, como objetos e matrizes, como parte da carga útil do evento. Os objetos aninhados serão nivelados e as matrizes serão armazenadas como dynamic
ou niveladas para produzir vários eventos, dependendo da configuração do ambiente e da forma JSON. Para saber mais, leia sobre as regras de aplanamento e escape de JSON
Próximos passos
Leia o Regras de achatamento e fuga do JSON para entender como os eventos serão armazenados.
Saiba mais sobre fontes de eventos para ingerir dados de streaming.