Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
GÄLLER FÖR:
Azure Data Factory
Azure Synapse Analytics
Tips
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 och 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 för att sedan kunna användas i den anropande pipelinen.
Introducera returvärde för pipeline, en ordlista med nyckelvärdepar, som möjliggör kommunikation mellan underordnade pipelines och överordnad pipeline.
Förutsättning – Anropa en delpipeline
Som en förutsättning behöver din design en Exekvera pipeline-aktivitet som anropar en underordnad pipeline, där Vänta vid slutförande är aktiverad.
Konfigurera returvärden i barnpipeline
Vi utökade aktiviteten Ange variabel för att inkludera systemvariabeln Pipeline Return Value. Du behöver inte definiera dem på pipelinenivå (till skillnad från andra variabler som du använder i pipelinen).
- Sök efter Ange variabel i fönstret Pipelineaktiviteter och dra en Ange variabel-aktivitet till pipelinearbetsytan.
- Välj aktiviteten Ange variabel på arbetsytan om den inte redan är markerad och sedan fliken Variabler för att redigera dess information.
- Välj Pipeline-returvärde som variabeltyp.
- Välj Ny för att lägga till ett nytt nyckelvärdepar.
- Antalet nyckel/värde-par som kan läggas till begränsas endast av storleksgränsen för den returnerade JSON(4 MB).
Det finns några alternativ för värdetyper, inklusive
| Typnamn | beskrivning |
|---|---|
| Sträng | 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()}". |
| Array | 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 |
| Flyta | 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 över nyckel-värdepar för värdetypen. |
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 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.
- En nyttolast av uttrycksvärdet för en skriptaktivitet för loggning.
Det finns två märkbara anmärkningar vid hänvisning till pipelinens returvärden.
- Med Objekttyp kan du expandera ytterligare till det kapslade json-objektet, till exempel @activity('Execute Pipeline1').output.pipelineReturnValue.keyName.nextLevelKey
- 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.
Anteckning
Kontrollera att keyName som du refererar till finns i den underliggande pipelinen. ADF-uttrycksverktyget kan inte bekräfta referenskontrollen åt dig. Pipeline misslyckas om den refererade nyckeln 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.
För att undvika det tidigare beskrivna problemet med saknade nycklar vid anrop av pipelinen, rekommenderar vi att du har samma lista med nycklar för alla grenar i underordnade pipeline. Överväg att använda null-typer för nycklar som inte har värden i en specifik gren.
Azure Data Factory-uttrycksspråket stöder inte direkt infogade JSON-objekt. I stället är det nödvändigt att sammanfoga strängar och uttryck korrekt.
Till exempel för följande JSON-uttryck:
{ "datetime": "@{utcnow()}", "date": "@{substring(utcnow(),0,10)}", "year": "@{substring(utcnow(),0,4)}", "month": "@{substring(utcnow(),5,2)}", "day": "@{substring(utcnow(),8,2)}" }Ett motsvarande Azure Data Factory-uttryck skulle vara:
@{ concat( '{', '"datetime": "', utcnow(), '", ', '"date": "', substring(utcnow(),0,10), '", ', '"year": "', substring(utcnow(),0,4), '", ', '"month": "', substring(utcnow(),5,2), '", ', '"day": "', substring(utcnow(),8,2), '"', '}' ) }
Relaterat innehåll
Läs mer om en annan relaterad kontrollflödesaktivitet: