Festlegen des Pipelinerückgabewerts in Azure Data Factory und Azure Synapse Analytics
GILT FÜR: Azure Data Factory Azure Synapse Analytics
Tipp
Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!
Im Paradigma „aufrufende Pipeline/untergeordnete Pipeline“ können Sie die Aktivität „Variable festlegen“ verwenden, um Werte aus der untergeordneten Pipeline an die aufrufende Pipeline zurückzugeben. Im folgenden Szenario steht eine untergeordnete Pipeline über die Aktivität „Pipeline ausführen“ zur Verfügung. Der Plan ist, Informationen aus der untergeordneten Pipeline abzurufen und sie dann in der aufrufenden Pipeline zu verwenden.
Führen Sie den Pipelinerückgabewert ein. Hierbei handelt es sich um ein Wörterbuch mit Schlüsselwertpaaren, das die Kommunikation zwischen untergeordneten Pipelines und der übergeordneten Pipeline ermöglicht.
Voraussetzung: Aufrufen einer untergeordneten Pipeline
Als Voraussetzung benötigt Ihr Entwurf eine Execute Pipeline Activity calling a child pipeline, with Wait on Completion enabled on the activity.
Konfigurieren des Pipelinerückgabewerts in der untergeordneten Pipeline
Wir haben die Aktivität „Variable festlegen“ erweitert, um den Pipelinerückgabewert von Systemvariablen einzuschließen. Sie müssen nicht auf Pipelineebene definiert werden (im Gegensatz zu anderen Variablen, die Sie in der Pipeline verwenden).
- Suchen Sie im Bereich mit den Pipelineaktivitäten nach Variable festlegen, und ziehen Sie eine Aktivität des Typs „Variable festlegen“ in den Pipelinebereich.
- Wählen Sie auf der Canvas die Aktivität „Variable festlegen“ aus, falls sie noch nicht ausgewählt ist, und wählen Sie anschließend die Registerkarte Variablen aus, um die Details zu bearbeiten.
- Wählen Sie als Variablentyp die Option Pipelinerückgabewert aus.
- Wählen Sie Neu aus, um ein neues Schlüssel-Wert-Paar hinzuzufügen.
- Die Anzahl der Schlüsselwertpaare, die hinzugefügt werden können, ist nur durch die Größenbeschränkung der zurückgegebenen JSON (4 MB) begrenzt.
Für Werttypen stehen mehrere Optionen zur Verfügung:
Typname | BESCHREIBUNG |
---|---|
String | Ein konstanter Zeichenfolgenwert. Beispiel: "ADF ist großartig" |
Ausdruck | Ermöglicht die Bezugnahme auf die Ausgabe früherer Aktivitäten. Sie können hier die Zeichenfolgeninterpolation verwenden, um Inlineausdruckswerte wie "The value is @{guid()}" einzuschließen. |
Array | Bei diesem Typ wird ein Array von Zeichenfolgenwerten erwartet. Drücken Sie die EINGABETASTE, um Werte im Array zu trennen. |
Boolean | „true“ oder „false“ |
NULL | Signalplatzhalterstatus (immer NULL). |
Int | Ein numerischer Wert vom Ganzzahltyp. Beispiel 42 |
Float | Ein numerischer Wert vom Float-Typ. Beispiel: 2.71828 |
Object | Warnung: Nur für komplizierte Anwendungsfälle. Dieser Typ ermöglicht das Einbetten einer Liste vom Typ „Schlüssel-Wert-Paare“ für den Wert. |
Der Wert des Objekttyps wird wie folgt definiert:
[{"key": "myKey1", "value": {"type": "String", "content": "hello world"}},
{"key": "myKey2", "value": {"type": "String", "content": "hi"}}
]
Abrufen eines Werts in der aufrufenden Pipeline
Der Pipelinerückgabewert der untergeordneten Pipeline wird zur Aktivitätsausgabe der Aktivität „Pipeline ausführen“. Die Informationen können mit @activity('Execute Pipeline1').output.pipelineReturnValue.keyName abgerufen werden. Hierbei handelt es sich um einen uneingeschränkten Anwendungsfall. Sie können beispielsweise Folgendes verwenden:
- Einen ganzzahligen Wert aus der untergeordneten Pipeline, um den Wartezeitraums für eine Warteaktivität zu definieren
- Ein Zeichenfolgenwert, der die URL für die Webaktivität definiert
- Die Nutzdaten eines Ausdruckswerts für eine Skriptaktivität zu Protokollierungszwecken
Es gibt zwei spürbare Legenden beim Verweisen auf die Rückgabewerte der Pipeline.
- Beim Typ Objekt können Sie das geschachtelte JSON-Objekt weiter erweitern. Beispiel: @activity('Execute Pipeline1').output.pipelineReturnValue.keyName.nextLevelKey
- Beim Typ Array können Sie den Index in der Liste mit @activity('Execute Pipeline1').output.pipelineReturnValue.keyName[0] angeben. Die Nummer ist nullindiziert, was bedeutet, dass sie mit „0“ beginnt.
Hinweis
Stellen Sie sicher, dass der Schlüsselname (keyName), auf den Sie verweisen, in Ihrer untergeordneten Pipeline vorhanden ist. Der ADF-Ausdrucks-Generator kann die referenzielle Überprüfung für Sie nicht bestätigen. Die Pipeline schlägt fehl, wenn der Schlüssel, auf den verwiesen wird, in der Nutzlast fehlt.
Besondere Überlegungen
Sie können zwar mehrere Set Pipeline Return Value-Aktivitäten in eine Pipeline einschließen, aber es ist wichtig, sicherzustellen, dass nur eine davon in der Pipeline ausgeführt wird.
Um die fehlende Schlüsselsituation in der Anrufpipeline zu vermeiden, empfehlen wir Ihnen, die gleiche Liste der Schlüssel für alle Filialen in der untergeordneten Pipeline zu haben. Erwägen Sie die Verwendung von NULL-Typen für Schlüssel, die in einer bestimmten Verzweigung über keine Werte verfügen.
Zugehöriger Inhalt
Erfahren Sie mehr über eine verwandte Ablaufsteuerungsaktivität: