Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
VAN TOEPASSING OP:
Azure Data Factory
Azure Synapse Analytics
Tip
Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .
In het aanroepende pijplijn-kindpijplijn paradigma kunt u de activiteit Variabele instellen gebruiken om waarden van de kindpijplijn te retourneren naar de aanroepende pijplijn. In het volgende scenario hebben we een subpijplijn via
Introduceer de retourwaarde van de pijplijn, een woordenboek met sleutel-waardeparen, waarmee communicatie tussen kindersystemen en de bovenliggende pijplijn mogelijk is.
Vereiste: een onderliggende pijplijn aanroepen
Als vereiste heeft uw ontwerp een Execute Pipeline-activiteit nodig die een onderliggende pijplijn aanroept, waarbij wachten op voltooiing is ingeschakeld voor de activiteit.
Retourwaarde voor pijplijn configureren in onderliggende pijplijn
We hebben de Variabele instellen activiteit uitgebreid om de systeemvariable Pipeline Return Value te omvatten. U hoeft deze niet op pijplijnniveau te definiëren (in tegenstelling tot andere variabelen die u in de pijplijn gebruikt).
- Zoek naar de activiteit Variabele instellen in het deelvenster Pijplijnactiviteiten en sleep een activiteit "Variabele instellen" naar het pijplijncanvas.
- Selecteer de activiteit Variabele instellen op het canvas als deze nog niet is geselecteerd en vervolgens het tabblad Variabelen om de details ervan te bewerken.
- Kies Pipeline-retourwaarde voor variabeltype.
- Selecteer Nieuw om een nieuw sleutelwaardepaar toe te voegen.
- Het aantal sleutel-waardeparen dat kan worden toegevoegd, wordt alleen beperkt door de groottelimiet van de geretourneerde JSON (4 MB).
Er zijn enkele opties voor waardetypen, waaronder
| Typenaam | Beschrijving |
|---|---|
| String | Een constante tekenreekswaarde. bijvoorbeeld: 'ADF is geweldig' |
| Expression | Hiermee kunt u verwijzen naar uitvoer van eerdere activiteiten. U kunt hier tekenreeksinterpolatie gebruiken om inline-expressiewaarden zoals "The value is @{guid()}". |
| Array | Er wordt een matrix met tekenreekswaarden verwacht. Druk op Enter om waarden in de matrix te scheiden |
| Booleaans | Waar of Onwaar |
| Null | Plaatsaanduiding status van signaal; de waarde is constant null |
| Int | Een numerieke waarde van het type geheel getal. Bijvoorbeeld: 42 |
| Float | Een numerieke waarde van het type float. Bijvoorbeeld: 2.71828 |
| Object | Waarschuwing: alleen complexe gebruiksscenario's. Hiermee kunt u een lijst met sleutel-waardeparen insluiten voor de waarde |
De waarde van het objecttype wordt als volgt gedefinieerd:
[{"key": "myKey1", "value": {"type": "String", "content": "hello world"}},
{"key": "myKey2", "value": {"type": "String", "content": "hi"}}
]
Waarde opvragen in de aanroepende pijplijn
De retourwaarde voor de pijplijn van de onderliggende pijplijn wordt de activiteitsuitvoer van de Execute Pipeline Activity. U kunt de informatie ophalen met @activity('Execute Pipeline1').output.pipelineReturnValue.keyName. De gebruikssituatie is grenzeloos. Bijvoorbeeld, u kunt
- Een int-waarde afkomstig van de onderliggende pipeline om de wachttijd voor een wachtactiviteit te definiëren.
- Een tekenreekswaarde om de URL voor de webactiviteit te definiëren.
- Een expressiewaarde-payload voor een scriptactiviteit voor logboekdoeleinden.
Er zijn twee merkbare aanduidingen bij verwijzing naar de retourwaarden van de pijplijn.
- Met objecttype kunt u verder uitbreiden naar het geneste json-object, zoals @activity('Execute Pipeline1').output.pipelineReturnValue.keyName.nextLevelKey
- Met matrixtype kunt u de index in de lijst opgeven met @activity('Execute Pipeline1').output.pipelineReturnValue.keyName[0]. Het getal is nul geïndexeerd, wat betekent dat het begint met 0.
Notitie
Zorg ervoor dat de keyName waarnaar u verwijst aanwezig is in uw onderliggende pijplijn. De opbouwfunctie voor ADF-expressies kan niet de referentiële controle voor u bevestigen. De Pipeline zal falen als de verwezen sleutel ontbreekt in de laadgegevens
Speciale overwegingen
Hoewel u meerdere Set Pipeline Return Value activiteiten in een pipeline kunt opnemen, is het belangrijk om ervoor te zorgen dat slechts één van deze wordt uitgevoerd.
Om het eerder beschreven probleem met ontbrekende sleutels te voorkomen bij het aanroepen van de pijplijn, raden we u aan dezelfde lijst met sleutels te hebben voor alle vertakkingen in de onderliggende pijplijn. Overweeg null-typen te gebruiken voor sleutels die geen waarden hebben, in een specifieke vertakking.
De expressietaal van Azure Data Factory biedt geen rechtstreekse ondersteuning voor inline JSON-objecten. In plaats daarvan is het nodig om tekenreeksen en expressies correct samen te voegen.
Bijvoorbeeld voor de volgende JSON-expressie:
{ "datetime": "@{utcnow()}", "date": "@{substring(utcnow(),0,10)}", "year": "@{substring(utcnow(),0,4)}", "month": "@{substring(utcnow(),5,2)}", "day": "@{substring(utcnow(),8,2)}" }Een equivalente Azure Data Factory-expressie is:
@{ concat( '{', '"datetime": "', utcnow(), '", ', '"date": "', substring(utcnow(),0,10), '", ', '"year": "', substring(utcnow(),0,4), '", ', '"month": "', substring(utcnow(),5,2), '", ', '"day": "', substring(utcnow(),8,2), '"', '}' ) }
Gerelateerde inhoud
Meer informatie over een andere gerelateerde controlestroomactiviteit: