Fluxos de dados versus grafos de fluxo de dados no Operações do Azure IoT

Operações do Azure IoT fornece duas maneiras de processar e rotear dados: fluxos data e grafos de fluxo data. Ambos utilizam infraestrutura compartilhada, como endpoints, perfis e configurações de origem e destino. No entanto, eles diferem no formato do pipeline, capacidades de transformação e suporte a endpoints.

O que são fluxos de dados?

Um fluxo de dados é um pipeline simples e linear que move dados de uma origem para um destino com transformações opcionais. O estágio de transformação executa três operações em uma ordem fixa: enriquecer, filtrar e mapear. Você configura um fluxo de dados usando a interface web de operação, o CLI do Azure ou modelos do Azure Resource Manager.

Os fluxos de dados geralmente estão disponíveis e dão suporte a todos os tipos de ponto de extremidade.

O que são grafos de fluxo de dados?

Um gráfico de fluxo de dados é um pipeline modular baseado em gráfico que conecta múltiplas transformações em qualquer topologia que você definir. Você pode encadear, ramificar e mesclar etapas de processamento. Cada transformação é uma unidade de processamento pré-construída, como mapa, filtro, ramificação, janela, aceleração ou enriquecimento, que você configura com regras. Você configura um grafo de fluxo de dados usando a interface do usuário web da experiência de operações, o CLI do Azure ou modelos do Azure Resource Manager.

Os grafos de fluxo de dados dão suporte a endpoints MQTT, Kafka e OpenTelemetry.

Comparação

Característica Fluxos de dados Gráficos de fluxo de dados
Forma do pipeline Corrigido: enriquecer, filtrar, mapear Flexível: qualquer topologia de grafo
Transforms Mapear, filtrar, enriquecer Mapear, filtrar, ramificar, concatenar, janela (agregação), enriquecer
Ramificar e mesclar Sem suporte Ramificar sobre condições, mesclar com concatenar
Agregação baseada em tempo Sem suporte Janelas deslizantes com média, mínimo, máximo e contagem
Suporte a ponto de extremidade (fonte) MQTT, Kafka MQTT, Kafka
Suporte a ponto de extremidade (destino) MQTT, Kafka, ADLS, Fabric, ADX, armazenamento local, OpenTelemetry MQTT, Kafka, OpenTelemetry
Tópicos de destino dinâmico ${inputTopic} (passagem do tópico de origem) $metadata.topic + ${outputTopic} (roteamento baseado em conteúdo)
Schema Na origem e na transformação Sobre conexões de nodes
Persistência de disco Supported Supported

Infraestrutura compartilhada

Fluxos de dados e gráficos de fluxo de dados compartilham:

  • Pontos de extremidade: ambos usam DataflowEndpoint recursos para conectar-se a agentes MQTT, Kafka, armazenamento e outros serviços. Consulte Preparar pontos de extremidade.
  • Perfis: ambos fazem referência a uma DataflowProfile configuração de escala e instância. Consulte Gerenciar perfis de fluxo de dados.
  • Configuração de origem: ambas dão suporte às mesmas opções de ponto de extremidade de origem (agente padrão, ativo, ponto de extremidade personalizado) e configuração de fonte de dados (tópico). Consulte Configurar uma origem.
  • Configuração de destino: ambos dão suporte a tópicos de destino estáticos e dinâmicos. Consulte Configurar um destino.
  • Persistência de disco: ambos dão suporte requestDiskPersistence para sobreviver a reinicializações. Consulte Configurar a persistência de disco.

Quando usar qual

Use fluxos de dados quando:

  • Você precisa de um pipeline simples de origem para destino com transformações básicas.
  • Você precisa enviar dados para os endpoints de armazenamento (ADLS, Fabric, ADX, armazenamento local).
  • Você quer uma solução geralmente disponível e pronta para produção.

Use grafos de fluxo de dados quando:

  • Você precisa desviar mensagens para diferentes caminhos de processamento com base nas condições.
  • Você precisa de agregação baseada no tempo (janelas de deslocamento).
  • Você precisa de múltiplas transformações em cadeia em uma topologia personalizada.
  • Você está trabalhando apenas com endpoints MQTT, Kafka ou OpenTelemetry.

Para novos projetos que utilizam tipos de endpoints suportados, utilize grafos de fluxo de dados. Os fluxos de dados permanecem totalmente compatíveis com todos os cenários e dão suporte à gama completa de tipos de ponto de extremidade.