Förstå datafabrikens kontrollflöde

Slutförd

Vad är kontrollflöde

Kontrollflöde är en orkestrering av pipelineaktiviteter som inkluderar länkningsaktiviteter i en sekvens, förgrening, definition av parametrar på pipelinenivå och överföring av argument när pipelinen anropas på begäran eller från en utlösare.

Kontrollflödet kan också innehålla loopcontainrar som kan skicka information för varje iteration av loopcontainern.

Om en For Each-loop används som en kontrollflödesaktivitet kan Azure Data Factory starta flera aktiviteter parallellt med den här metoden. På så sätt kan du skapa komplex och iterativ bearbetningslogik i de pipelines som du skapar med Azure Data Factory, som stöder skapandet av olika dataintegreringsmönster, till exempel att skapa ett modernt informationslager.

Några av de vanliga kontrollflödesaktiviteterna beskrivs i avsnitten nedan.

Länkning av aktiviteter

I Azure Data Factory kan du länka aktiviteter i en sekvens i en pipeline. Det är möjligt att använda egenskapen dependsOn i en aktivitetsdefinition för att länka den med en överordnad aktivitet.

Branchning av aktiviteter

Använd Azure Data Factory för förgreningsaktiviteter i en pipeline. Ett exempel på en förgreningsaktivitet är If-condition-aktiviteten som liknar en if-instruktion som tillhandahålls i programmeringsspråk. En förgreningsaktivitet utvärderar en uppsättning aktiviteter och när villkoret utvärderas till sant körs en uppsättning aktiviteter. När den utvärderas till false körs en alternativ uppsättning aktiviteter.

Parameters

Du kan definiera parametrar på pipelinenivå och skicka argument när du anropar din pipeline på begäran eller via en utlösare. Aktiviteter använder sedan argumenten som lagras i en parameter när de skickas till pipelinen.

Skicka anpassade tillstånd

Anpassad tillståndsöverföring är möjlig med Azure Data Factory. Anpassad tillståndsöverföring är en aktivitet som skapade utdata eller tillståndet för den aktivitet som måste förbrukas av en efterföljande aktivitet i pipelinen. Ett exempel är att i en JSON-definition av en aktivitet kan du komma åt utdata från föregående aktivitet. Med anpassad tillståndsöverföring kan du skapa arbetsflöden där värden passerar genom aktiviteter.

Loopningscontainrar

Loopcontainrarnas paraply för kontrollflödet, till exempel ForEach-aktiviteten, definierar upprepning i en pipeline. Det gör att du kan iterera över en samling och köra angivna aktiviteter i den definierade loopen. Det fungerar på samma sätt som "för varje loopstruktur" som används i programmeringsspråk. Förutom varje aktivitet finns det också en Until-aktivitet. Den här funktionen liknar en do-until-loop som används i programmering. Vad den gör är att köra en uppsättning aktiviteter (gör) i en loop tills villkoret (tills) uppfylls.

Utlösningsbaserade flöden

Pipelines kan utlösas av på begäran (händelsebaserad till exempel blobpost) eller tid på väggklockan.

Anropa en pipeline från en annan pipeline

Aktiviteten Kör pipeline med Azure Data Factory gör att en Data Factory-pipeline kan anropa en annan pipeline.

Deltaflöden

Användningsfall som rör användning av deltaflöden är deltabelastningar. Deltainläsningar i ETL-mönster läser bara in data som har ändrats sedan en tidigare iteration av en pipeline. Funktioner som uppslagsaktivitet och flexibel schemaläggning hjälper till att hantera deltabelastningsjobb. Om du använder en sökningsaktivitet läser eller letar den upp ett värde för post- eller tabellnamn från valfri extern källa. Dessa utdata kan vidare refereras av efterföljande aktiviteter.

Andra kontrollflöden

Det finns många fler kontrollflödesaktiviteter. Se följande objekt för andra användbara aktiviteter:

  • Webbaktivitet: Webbaktiviteten i Azure Data Factory med hjälp av kontrollflöden kan anropa en anpassad RESTendpoint från en Data Factory-pipeline. Datauppsättningar och länkade tjänster kan skickas för att få användning av aktiviteten.

  • Hämta metadataaktivitet: Aktiviteten Hämta metadata hämtar metadata för alla data i Azure Data Factory.