Gegevensstromen versus gegevensstroomgrafieken in Azure IoT-bewerkingen

Azure IoT-bewerkingen biedt twee manieren om gegevens te verwerken en te routeren: gegevensstromen en gegevensstroomdiagrammen. Beide gebruiken gedeelde infrastructuur, zoals eindpunten, profielen en bron- en bestemmingsconfiguratie. Ze verschillen echter in pijplijnvorm, transformatiemogelijkheden en eindpuntondersteuning.

Wat zijn gegevensstromen?

Een gegevensstroom is een eenvoudige, lineaire pijplijn waarmee gegevens van een bron naar een bestemming worden verplaatst met optionele transformaties. In de transformatiefase worden drie bewerkingen uitgevoerd in een vaste volgorde: verrijken, filteren en vervolgens toewijzen. U configureert een gegevensstroom met behulp van de webgebruikersinterface van de bewerkingservaring, de Azure CLI of Azure Resource Manager-sjablonen.

Gegevensstromen zijn algemeen beschikbaar en ondersteunen alle eindpunttypen.

Wat zijn gegevensstroomgrafieken?

Een gegevensstroomgrafiek is een composeerbare pijplijn op basis van grafieken die meerdere transformaties verbindt in elke topologie die u definieert. U kunt verwerkingsstappen koppelen, vertakken en samenvoegen. Elke transformatie is een vooraf gebouwde verwerkingseenheid, zoals map, filter, branch, window, throttle of enrichment, die je configureert met regels. U configureert een gegevensstroomgrafiek met behulp van de webgebruikersinterface van operations experience, de Azure CLI of Azure Resource Manager-sjablonen.

Gegevensstroomgrafieken ondersteunen MQTT-, Kafka- en OpenTelemetry-eindpunten.

Comparison

Feature Gegevensstromen Gegevensstroomgrafieken
Pijplijnvorm Opgelost: verrijken, filteren, kaart Flexibel: elke grafiektopologie
Transformeert Kaart, filter, verrijken Kaart, filter, vertakking, samenvoegen, venster (aggregatie), verrijken
Vertakking en samenvoeging Niet ondersteund Vertakken op voorwaarden, samenvoegen met concatenatie
Aggregatie op basis van tijd Niet ondersteund Tumblingvensters met gemiddelde, min, max, aantal
Eindpuntondersteuning (bron) MQTT, Kafka MQTT, Kafka
Eindpuntondersteuning (doel) MQTT, Kafka, ADLS, Fabric, ADX, lokale opslag, OpenTelemetry MQTT, Kafka, OpenTelemetrie
Onderwerpen over dynamische bestemmingen ${inputTopic} (doorgeven van brononderwerp) $metadata.topic + ${outputTopic} (routering op basis van inhoud)
Schema Bij bron en transformatie Over knooppuntverbindingen
Schijfpersistentie Ondersteund Ondersteund

Gedeelde infrastructuur

Gegevensstromen en gegevensstroomgrafieken delen:

  • Eindpunten: beide gebruiken DataflowEndpoint resources om verbinding te maken met MQTT-brokers, Kafka, opslag en andere services. Zie Eindpunten voorbereiden.
  • Profielen: Beide verwijzen naar een DataflowProfile voor schaalaanpassing en exemplaarconfiguratie. Zie Gegevensstroomprofielen beheren.
  • Bronconfiguratie: Beide ondersteunen dezelfde opties voor broneindpunten (standaardbroker, asset, aangepast eindpunt) en configuratie van gegevensbron (onderwerp). Zie Een bron configureren.
  • Doelconfiguratie: beide ondersteunen statische en dynamische doelonderwerpen. Zie Een bestemming configureren.
  • Schijfpersistentie: beide ondersteunen requestDiskPersistence om herstarten te overleven. Zie Schijfpersistentie configureren.

Wanneer te gebruiken welke

Gegevensstromen gebruiken wanneer:

  • Je hebt een eenvoudige bron-naar-bestemming pijplijn nodig met basistransformaties.
  • Je moet data naar opslag-endpoints sturen (ADLS, Fabric, ADX, lokale opslag).
  • Je wilt een algemeen beschikbaare, productieklare oplossing.

Gegevensstroomgrafieken gebruiken wanneer:

  • Je moet berichten vertakken naar verschillende verwerkingspaden op basis van de voorwaarden.
  • Je hebt tijdgebaseerde aggregatie nodig (tuimelende vensters).
  • Je hebt meerdere gekoppelde transformaties nodig in een aangepaste topologie.
  • Je werkt alleen met MQTT-, Kafka- of OpenTelemetrie-endpoints.

Voor nieuwe projecten die ondersteunde endpointtypes gebruiken, gebruik datastroomgrafieken. Gegevensstromen blijven volledig ondersteund voor alle scenario's en ondersteunen het volledige scala aan eindpunttypen.