Condividi tramite


Flussi di dati e grafici del flusso di dati nelle operazioni IoT di Azure

Le operazioni IoT di Azure offrono due modi per elaborare e instradare i dati: flussi di dati e grafici del flusso di dati. Entrambi usano l'infrastruttura condivisa (endpoint, profili, configurazione di origine/destinazione), ma differiscono per la forma della pipeline, le funzionalità di trasformazione e il supporto degli endpoint.

Che cosa sono i flussi di dati?

Un flusso di dati è una pipeline semplice e lineare che sposta i dati da un'origine a una destinazione con trasformazioni facoltative. La fase di trasformazione esegue tre operazioni in un ordine fisso: arricchire, filtrare e quindi mappare. Per configurare un flusso di dati, creare una Dataflow risorsa personalizzata.

I flussi di dati sono disponibili a livello generale e supportano tutti i tipi di endpoint.

Che cosa sono i grafici del flusso di dati?

Un grafico del flusso di dati è una pipeline componibile basata su grafo che connette più trasformazioni in qualsiasi topologia definita. È possibile concatenare, diramare e unire i passaggi di elaborazione. Ogni trasformazione è un'unità di elaborazione predefinita (mappa, filtro, ramo, finestra, arricchimento) configurata con le regole. Per configurare un grafico del flusso di dati, creare una DataflowGraph risorsa personalizzata.

I grafici del flusso di dati supportano endpoint MQTT, Kafka e OpenTelemetry.

Confronto

Feature Flussi di dati Grafici del flusso di dati
Forma pipeline Corretto: arricchire, filtrare, mappare Flessibile: qualsiasi topologia del grafo
Transforms Mappa, filtro, arricchimento Mappa, filtro, ramo, concat, finestra (aggregazione), arricchimento
Ramificazione e fusione Non supportato Ramificazione condizionale, fusione con concat
Aggregazione basata sul tempo Non supportato Finestre a cascata con avg, min, max, count
Supporto endpoint (origine) MQTT, Kafka MQTT, Kafka, OpenTelemetry
Supporto per gli endpoint (destinazione finale) MQTT, Kafka, ADLS, Fabric, ADX, archiviazione locale, OpenTelemetry MQTT, Kafka, OpenTelemetry
Argomenti di destinazione dinamici ${inputTopic} (pass-through dell'argomento di origine) $metadata.topic + ${outputTopic} (routing basato sul contenuto)
Schema Su origine e trasformazione Connessioni ai nodi
Persistenza del disco Supportato Supportato

Infrastruttura condivisa

I flussi di dati e i grafici del flusso di dati condividono:

  • Endpoint: entrambi usano DataflowEndpoint le risorse per connettersi a broker MQTT, Kafka, memoria e altri servizi. Vedere Preparare gli endpoint.
  • Profili: entrambi fanno riferimento a DataflowProfile per il ridimensionamento e la configurazione dell'istanza. Vedere Gestire i profili del flusso di dati.
  • Configurazione origine: entrambi supportano le stesse opzioni dell'endpoint di origine (broker predefinito, asset, endpoint personalizzato) e la configurazione dell'origine dati (argomento). Vedere Configurare una sorgente.
  • Configurazione di destinazione: supporta sia argomenti di destinazione statici che dinamici. Vedere Configurare una destinazione.
  • Persistenza del disco: entrambi supportano requestDiskPersistence per sopravvivere ai riavvii. Vedere Configurare la persistenza del disco.

Quando usare quale

Usare i flussi di dati quando:

  • È necessaria una semplice pipeline da origine a destinazione con trasformazioni di base
  • È necessario inviare dati agli endpoint di archiviazione (ADLS, Fabric, ADX, archiviazione locale)
  • Si vuole una soluzione disponibile a livello generale e pronta per la produzione

Usare i grafici del flusso di dati quando:

  • È necessario diramare i messaggi in percorsi di elaborazione diversi in base alle condizioni
  • È necessaria l'aggregazione basata sul tempo (finestre scorrevoli)
  • Sono necessarie più trasformazioni concatenate in una topologia personalizzata
  • Stai lavorando solo con endpoint MQTT, Kafka o OpenTelemetry

Per i nuovi progetti che usano tipi di endpoint supportati, è consigliabile usare grafici del flusso di dati. I flussi di dati rimangono completamente supportati per tutti gli scenari e supportano l'intera gamma di tipi di endpoint.