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 går 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 ett antal aktiviteter, och när villkoret blir sant, utförs dessa aktiviteter. När det utvärderas till falskt körs en alternativ uppsättning aktiviteter.

I situationer där du behöver fler än två utfallsvägar använder du Switch-aktiviteten . Switch-aktiviteten fungerar som ett switch/case-uttryck i programmeringsspråk: den utvärderar ett uttryck och kör de aktiviteter som överensstämmer med ett visst fallvärde. Du kan definiera upp till 25 namngivna ärenden plus en standardgren som körs när inget ärende matchar. Använd If Condition för binära true/false-beslut och Växla när du har flera diskreta resultat.

Parametrar

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 finns i en parameter när de skickas till pipelinen.

Överföring av anpassade tillstånd

Anpassad tillståndsöverföring är möjlig med Azure Data Factory. Anpassad tillståndsöverföring är en aktivitet som skapar utdata eller tillståndet för aktiviteten som behöver förbrukas av en efterföljande aktivitet i kedjan. 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.

Loopande behållare

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 "for-each-loop-struktur" 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 vidare för att konsumeras av aktiviteten.

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