Origens de eventos do Azure Time Series Insights Gen2
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 obter mais informações sobre a descontinuação e a migração, visite a nossa documentação .
Seu ambiente do Azure Time Series Insights Gen2 pode ter até duas fontes de eventos de streaming. Dois tipos de recursos do Azure são suportados como entradas:
Os eventos devem ser enviados como JSON codificado em UTF-8.
Criar ou editar fontes de eventos
A origem do evento é o link entre seu hub e seu ambiente do Azure Time Series Insights Gen2, e um recurso separado do tipo Time Series Insights event source
é criado em seu grupo de recursos. O(s) recurso(s) do Hub IoT ou do Hub de Eventos podem viver na mesma assinatura do Azure que seu ambiente do Azure Time Series Insights Gen2 ou em uma assinatura diferente. No entanto, é uma prática recomendada hospedar seu ambiente do Azure Time Series Insights e o Hub IoT ou Hub de Eventos na mesma região do Azure.
Você pode usar o portal do Azure, CLI do Azure, modelos do Azure Resource Manager e a API REST para criar, editar ou remover as fontes de eventos do seu ambiente.
Advertência
Não restrinja o acesso público à Internet a um hub ou fonte de eventos usada pelo Time Series Insights ou a conexão necessária será interrompida.
Opções de início
Ao criar uma fonte de eventos, você pode especificar quais dados pré-existentes devem ser coletados. Essa configuração é opcional. As seguintes opções estão disponíveis:
Nome | Descrição | Exemplo de modelo do Azure Resource Manager |
---|---|---|
mais cedo disponível | Ingerir todos os dados pré-existentes armazenados no IoT ou no Hub de Eventos | "ingressStartAt": {"type": "EarliestAvailable"} |
HoraDeCriaçãoDaFonteDoEvento | Comece a ingerir dados que chegam depois de a fonte do evento ser criada. Todos os dados pré-existentes que foram transmitidos antes da criação da fonte do evento serão ignorados. Esta é a configuração padrão no portal do Azure | "ingressStartAt": {"type": "EventSourceCreationTime"} |
CustomEnqueuedTime | Seu ambiente ingerirá dados do seu tempo enfileirado personalizado (UTC) para frente. Todos os eventos que foram enfileirados na sua IoT ou Hub de Eventos no ou após o seu tempo de enfileiramento personalizado serão ingeridos e armazenados. Todos os eventos que chegaram antes do seu tempo de fila personalizado serão ignorados. Note que "tempo enfileirado" refere-se ao momento (em UTC) em que o evento chegou ao seu IoT ou Hub de Eventos. Isto difere de uma propriedade de carimbo de data/hora personalizada que está dentro do corpo do seu evento. | "ingressStartAt": {"type": "CustomEnqueuedTime", "time": "2021-03-01T17:00:00.20Z"} |
Importante
- Se você selecionar EarliestAvailable e tiver muitos dados pré-existentes, poderá enfrentar alta latência inicial à medida que seu ambiente Azure Time Series Insights Gen2 processa todos os seus dados.
- Essa alta latência deve eventualmente diminuir à medida que os dados são indexados. Submeta um pedido de suporte através do portal do Azure se experienciar elevada latência contínua.
- mais cedo disponível
- HoraDeCriaçãoDaFonteDoEvento
- CustomEnqueuedTime
Melhores práticas de ingestão de streaming
Sempre crie um grupo de consumidores exclusivo para seu ambiente do Azure Time Series Insights Gen2 para consumir dados da sua fonte de eventos. A reutilização de grupos de consumidores pode causar desconexões aleatórias e pode resultar em perda de dados.
Configure seu ambiente Azure Time Series Insights Gen2 e seu Hub IoT e/ou Hubs de Eventos na mesma região do Azure. Embora seja possível configurar uma fonte de eventos em uma região separada, esse cenário não é suportado e não podemos garantir alta disponibilidade.
Não ultrapasse o limite de taxa de transferência do ambiente, nem o limite por partição.
Configure um alerta de atraso para ser notificado se o seu ambiente estiver enfrentando problemas de processamento de dados. Consulte abaixo as condições de alerta sugeridas para cargas de trabalho de produção .
Use a ingestão de streaming apenas para dados quase em tempo real e recentes, não há suporte para streaming de dados históricos.
Entenda como as propriedades serão escapadas e os dados JSON nivelados e armazenados.
Siga o princípio de menor privilégio ao fornecer cadeias de conexão de origem de eventos. Para os Hubs de Eventos, configure uma política de acesso partilhado com a permissão enviar apenas, e para o Hub IoT, use apenas a permissão de ligação de serviço.
Atenção
Se você excluir seu Hub IoT ou Hub de Eventos e recriar um novo recurso com o mesmo nome, precisará criar uma nova fonte de eventos e anexar o novo Hub IoT ou Hub de Eventos. Os dados não serão ingeridos até que você conclua esta etapa.
Cargas de trabalho de produção
Além das práticas recomendadas acima, recomendamos que você implemente o seguinte para cargas de trabalho críticas para os negócios.
Aumente o tempo de retenção de dados do Hub IoT ou do Hub de Eventos para o máximo de sete dias.
Crie alertas de ambiente no portal do Azure. Os alertas baseados em métricas da plataforma e permitem validar o comportamento do pipeline de ponta a ponta. As instruções para criar e gerenciar alertas estão aqui. Condições de alerta sugeridas:
- IngressReceivedMessagesTimeLag é maior que 5 minutos
- IngressReceivedBytes é 0
Mantenha a carga de dados ingerida equilibrada entre as partições do Hub IoT ou do Hub de Eventos.
Ingestão de dados históricos
O uso do pipeline de streaming para importar dados históricos não é suportado atualmente no Azure Time Series Insights Gen2. Se você precisar importar dados anteriores para seu ambiente, siga as diretrizes abaixo:
- Não transmita dados ao vivo e históricos em paralelo. A ingestão de dados fora de ordem resultará em desempenho de pesquisa degradado.
- Ingerir dados históricos de forma ordenada por tempo para obter o melhor desempenho.
- Respeite os limites da taxa de ingestão abaixo.
- Desative o Warm Store se os dados forem anteriores ao seu período de retenção do Warm Store.
Marca temporal da origem do evento
Ao configurar uma fonte de eventos, ser-lhe-á solicitado que forneça uma propriedade de ID de carimbo de data e hora. A propriedade timestamp é usada para controlar eventos ao longo do tempo, este é o tempo que será usado como $ts
no APIs de Consulta e para plotar séries no Azure Time Series Insights Explorer. Se nenhuma propriedade for fornecida no momento da criação ou se a propriedade timestamp estiver ausente de um evento, o tempo enfileirado do evento no Hub IoT ou no Hub de Eventos será utilizado como padrão. Os valores das propriedades Timestamp são armazenados em UTC.
Em geral, os usuários optarão por personalizar a propriedade timestamp e usar a hora em que o sensor ou tag gerou a leitura em vez de usar o tempo enfileirado do hub padrão. Isso é particularmente necessário quando os dispositivos têm perda de conectividade intermitente e um lote de mensagens atrasadas é encaminhado para o Azure Time Series Insights Gen2.
Se o carimbo de data/hora personalizado estiver dentro de um objeto JSON aninhado ou de uma matriz, você precisará fornecer o nome de propriedade correto seguindo nossas convenções de nomenclatura de nivelamento e escape . Por exemplo, o carimbo de data/hora de origem do evento para o conteúdo JSON mostrado aqui deve ser inserido como "values.time"
.
Compensações de fuso horário
Os carimbos de data/hora devem ser enviados no formato ISO 8601 e serão armazenados em UTC. Se um deslocamento de fuso horário for fornecido, o deslocamento será aplicado e, em seguida, a hora armazenada e retornada no formato UTC. Se o deslocamento estiver formatado incorretamente, ele será ignorado. Em situações em que sua solução pode não ter contexto do deslocamento original, você pode enviar os dados de deslocamento em uma propriedade de evento separada adicional para garantir que eles sejam preservados e que seu aplicativo possa fazer referência em uma resposta de consulta.
O deslocamento de fuso horário deve ser formatado como um dos seguintes:
±HHMMZ
±HH: MM
±HH:MMZ
Próximos passos
Leia as Regras de Achatamento e Fuga JSON e para entender como os eventos serão armazenados.
Compreenda as limitações de taxa de transferência do seu ambiente