Share via


Ange returvärde för pipeline i Azure Data Factory och Azure Synapse Analytics

GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics

Dricks

Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!

I det anropande pipeline-underordnade pipelineparadigmet kan du använda aktiviteten Ange variabel för att returnera värden från den underordnade pipelinen till den anropande pipelinen. I följande scenario har vi en underordnad pipeline via Kör pipelineaktivitet. Och vi vill hämta information från den underordnade pipelinen och sedan användas i den anropande pipelinen.

Screenshot with ExecutePipeline Activity.

Introducera returvärde för pipeline, en ordlista med nyckelvärdepar, som möjliggör kommunikation mellan underordnade pipelines och överordnad pipeline.

Krav – Anropa en underordnad pipeline

Som en förutsättning behöver din design en Körningspipelineaktivitet som anropar en underordnad pipeline, med Vänta vid slutförande aktiverat på aktiviteten.

Screenshot setting ExecutePipeline Activity to wait for completion.

Konfigurera returvärde för pipeline i underordnad pipeline

Vi har expanderat aktiviteten Ange variabel till att omfatta systemvariabler Pipeline Return Value. Du behöver inte definiera dem på pipelinenivå (till skillnad från andra variabler som du använder i pipelinen).

  1. Sök efter Ange variabel i fönstret Pipelineaktiviteter och dra en Aktivitet för att ange variabel till pipelinearbetsytan.
  2. Välj aktiviteten Ange variabel på arbetsytan om den inte redan är markerad och sedan fliken Variabler för att redigera dess information.
  3. Välj Returvärde för pipeline för variabeltyp.
  4. Välj Ny för att lägga till ett nytt nyckelvärdepar.
  5. Antalet nyckel/värde-par som kan läggas till begränsas endast av storleksgränsen för den returnerade JSON (4MB).

Screenshot shows the ui for pipeline return value.

Det finns några alternativ för värdetyper, inklusive

Typnamn beskrivning
String Ett konstant strängvärde. till exempel: "ADF är fantastiskt"
Uttryck Du kan referera till utdata från tidigare aktiviteter. Du kan använda stränginterpolation här för att inkludera värden för infogade uttryck, till exempel "The value is @{guid()}".
Matris Den förväntar sig en matris med strängvärden. Tryck på "retur"-tangenten för att avgränsa värden i matrisen
Booleskt Sant eller Falskt
Null Status för signalplatshållare; värdet är konstant null
Int Ett numeriskt värde av heltalstyp. Till exempel 42
Flyttal Ett numeriskt värde av flyttaltyp. Till exempel: 2.71828
Objekt Varning endast för komplicerade användningsfall. Det gör att du kan bädda in en lista med nyckelvärdepartyp för värdet

Värdet för objekttypen definieras på följande sätt:

[{"key": "myKey1", "value": {"type": "String", "content": "hello world"}}, 
 {"key": "myKey2", "value": {"type": "String", "content": "hi"}}
]

Hämtar värde i anropspipeline

Returvärdet för pipelinen för den underordnade pipelinen blir aktivitetsutdata för körningspipelineaktiviteten. Du kan hämta informationen med @activity('Execute Pipeline1').output.pipelineReturnValue.keyName. Användningsfallet är obegränsat. Du kan till exempel använda

  • Ett int-värde från en underordnad pipeline för att definiera väntetiden för en vänteaktivitet
  • Ett strängvärde för att definiera URL:en för webbaktiviteten
  • Ett uttrycksvärdesnyttolast för en skriptaktivitet i loggningssyfte.

Screenshot shows the calling pipeline.

Det finns två märkbara pratbubblar när du refererar till pipelinens returvärden.

  1. Med objekttypen kan du expandera ytterligare till det kapslade json-objektet, till exempel @activity('Execute Pipeline1').output.pipelineReturnValue.keyName.nextLevelKey
  2. Med matristypen kan du ange indexet i listan med @activity('Execute Pipeline1').output.pipelineReturnValue.keyName[0]. Talet är noll indexerat, vilket innebär att det börjar med 0.

Kommentar

Kontrollera att keyName som du refererar till finns i den underordnade pipelinen. ADF-uttrycksverktyget kan inte bekräfta referenskontrollen åt dig. Pipelinen misslyckas om nyckeln som refereras saknas i nyttolasten

Särskilda överväganden

Även om du kan inkludera flera set pipeline return value-aktiviteter i en pipeline är det viktigt att se till att endast en av dem körs i pipelinen.

Screenshot with Pipeline Return Value and Branching.

För att undvika den saknade nyckelsituationen i den anropande pipelinen, som beskrivs ovan, rekommenderar vi att du har samma lista med nycklar för alla grenar i den underordnade pipelinen. Överväg att använda null-typer för nycklar som inte har värden i en specifik gren.

Läs mer om en annan relaterad kontrollflödesaktivitet: