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.

Screenshot with ExecutePipeline Activity.

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.

Screenshot setting ExecutePipeline Activity to wait for completion.

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).

  1. Suchen Sie im Bereich mit den Pipelineaktivitäten nach Variable festlegen, und ziehen Sie eine Aktivität des Typs „Variable festlegen“ in den Pipelinebereich.
  2. 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.
  3. Wählen Sie als Variablentyp die Option Pipelinerückgabewert aus.
  4. Wählen Sie Neu aus, um ein neues Schlüssel-Wert-Paar hinzuzufügen.
  5. 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.

Screenshot shows the ui for pipeline return value.

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

Screenshot shows the calling pipeline.

Es gibt zwei spürbare Legenden beim Verweisen auf die Rückgabewerte der Pipeline.

  1. Beim Typ Objekt können Sie das geschachtelte JSON-Objekt weiter erweitern. Beispiel: @activity('Execute Pipeline1').output.pipelineReturnValue.keyName.nextLevelKey
  2. 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.

Screenshot with Pipeline Return Value and Branching.

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.

Erfahren Sie mehr über eine verwandte Ablaufsteuerungsaktivität: