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 odo portal do
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 em sua IoT ou Hub de Eventos no ou após seu tempo de fila personalizado serão ingeridos e armazenados. Todos os eventos que chegaram antes do seu horário de enfileiramento 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. Isso difere de um de propriedade de carimbo de data/hora |
"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.
- Disponível mais cedo
- HoraCriaçãoFonteEvento
- CustomEnqueuedTime
Práticas recomendadas 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 Hubs de Eventos, configure uma política de acesso compartilhado com o enviar somente declaração e, para o Hub IoT, use o serviço conectar somente permissã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 ingestão 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, essa é a hora que será usada como o
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