Teilen über


Parameter für Data Factory in Microsoft Fabric

In diesem Handbuch erfahren Sie, wie Sie Parameter in Ihren Data Factory-Pipelines in Fabric verwenden. Es ist eine einfache Möglichkeit, Ihre Workflows flexibler und einfacher zu verwalten.

Wie man Parameter, Ausdrücke und Funktionen in Pipelines für die Data Factory in Fabric verwendet

Dieser Leitfaden führt Sie durch die Grundlagen des Erstellens parametrisierter Pipelines in Data Factory für Fabric, indem Sie klare Beispiele auf dem Weg verwenden. Mithilfe von Parametern und dynamischen Ausdrücken können Sie viel Zeit sparen und flexible ETL-Lösungen (Extract, Transform, Load) oder ELT (Extract, Load, Transform) erstellen. Diese Techniken reduzieren die Hartcodierung und helfen Ihnen, Objekte und Prozesse wiederzuverwenden, wodurch es einfacher ist, Ihre Pipelines zu verwalten und neue Features schneller bereitzustellen.

Parameter- und Ausdruckskonzepte

Sie können Parameter verwenden, um externe Werte an Ihre Pipelines zu übergeben. Nachdem ein Parameter festgelegt wurde, bleibt er während der gesamten Ausführung gleich und kann nicht mehr geändert werden. Mithilfe von Parametern können Sie die gleiche Pipeline jedes Mal mit unterschiedlichen Werten wiederverwenden. Sie können alleine oder innerhalb von Ausdrücken verwendet werden, und diese Werte können entweder fest sein oder berechnet werden, wenn die Pipeline ausgeführt wird.

Ausdrücke können an beliebiger Stelle innerhalb eines Zeichenfolgenwerts eingefügt werden und stets einen anderen Zeichenfolgenwert zurückgeben. Wenn Sie beispielsweise verwenden @password, behandelt die Pipeline das Kennwort als Parameter. Wenn der Wert ein Ausdruck ist, entfernen Sie einfach das @, um den tatsächlichen Inhalt abzurufen. Und wenn Sie eine Zeichenkette benötigen, die mit @ beginnt, escapen Sie sie einfach, indem Sie @@ eingeben. Im Folgenden finden Sie einige Beispiele, die zeigen, wie dies in der Praxis funktioniert.

Parameterwert Result
"parameters" Die Zeichenfolge „parameters“ wird zurückgegeben.
"parameters[1]" Die Zeichenfolge „parameters[1]“ wird zurückgegeben.
"@@" Eine 1 Zeichen lange Zeichenfolge, die '@' enthält, wird zurückgegeben.
" @" Eine Zeichenfolge, die \„ \@ \“ enthält, wird zurückgegeben (zwei Zeichen).

Mit der Zeichenfolgeninterpolation können Ausdrücke auch innerhalb von Zeichenfolgen verwendet werden. Dabei werden die Ausdrücke in @{ ... } eingeschlossen. Die folgende Zeichenfolge enthält z. B. Parameterwerte und Literalzeichenfolgen.

"Vorname: @{pipeline().parameters.firstName} Nachname: @{pipeline().parameters.lastName}"

Bei der Verwendung einer Zeichenfolgeninterpolation ist das Ergebnis immer eine Zeichenfolge. Wenn Sie z. B. myNumber als 42 und myString als foo definiert haben:

Parameterwert Result
"@pipeline().parameters.myString" Gibt foo als Zeichenfolge zurück.
"@{pipeline().parameters.myString}" Gibt foo als Zeichenfolge zurück.
"@pipeline().parameters.myNumber" Gibt 42 als Zahl zurück.
"@{pipeline().parameters.myNumber}" Gibt 42 als Zeichenfolge zurück.
Die Antwort ist: @{pipeline().parameters.myNumber} Gibt die Zeichenfolge Answer is: 42 zurück.
"@concat('Antwort ist: ', string(pipeline().parameters.myNumber))" Gibt die Zeichenfolge Answer is: 42 zurück.
"Antwort ist: @@{pipeline().parameters.myNumber}" Gibt die Zeichenfolge Answer is: @{pipeline().parameters.myNumber} zurück.

Beispiele für die Verwendung von Parametern in Ausdrücken

Erstellen und Verwenden von Parametern

Um Parameter zu erstellen, wählen Sie den Hintergrund des Pipeline-Editor-Zeichenbereichs und dann die Registerkarte "Parameter " des Eigenschaftenfensters unten aus. Wählen Sie die Schaltfläche +Neu aus, um der Pipeline einen neuen Parameter hinzuzufügen, geben Sie ihm einen Namen, einen Datentyp und einen Standardwert:

Screenshot des Parameters-Editors auf den Eigenschaftenseiten einer Pipeline.

Anschließend können Sie den Parameter an einer beliebigen Stelle in Ihrer Pipeline verwenden, in der dynamische Inhalte unterstützt werden. In diesem Beispiel wird der Parameter verwendet, um den Namen eines Lakehouse-Datenspeichers auf der Registerkarte "Quelle " der Eigenschaftenseiten einer Kopieraktivität dynamisch anzugeben.

Screenshot der Registerkarte

Das Fenster " Dynamischen Inhalt hinzufügen " wird angezeigt, sodass Sie beliebige Arten dynamischer Inhalte angeben können, einschließlich Parametern, Systemvariablen, Funktionen oder Pipelinevariablen. In diesem Beispiel wird der zuvor definierte Parameter ausgewählt, und das dynamische Inhaltsfenster wird automatisch mit dem richtigen Ausdruck aufgefüllt, um auf den Parameter zu verweisen.

Screenshot des Fensters

Parametrisieren von Verbindungen

Für die Parameterisierung von Verbindungen in Pipelines ist die Verwendung der Verbindungs-GUID erforderlich, die Sie dynamisch ersetzen möchten.

  1. Bevor Sie die Verbindung in Ihrer Pipeline dynamisch ändern können, müssen Sie die GUID für die Verbindung ermitteln, die Sie festlegen möchten.
  2. Zu "Einstellungen" wechseln | Verwalten von Verbindungen und Gateways
  3. Suchen Sie den Namen der Verbindung und klicken Sie auf die drei Punkte neben dem Verbindungsnamen.
  4. Wählen Sie "Einstellungen" aus, und kopieren Sie die Verbindungs-ID.
  5. Verwenden Sie einen Zeichenfolgenparameter, um die GUID in diesen Parameter einzufügen und in Ihrem dynamischen Ausdruck zu verwenden.

Beispiel für komplexen Ausdruck

Das folgende Beispiel zeigt ein komplexes Beispiel, das auf ein tiefes Unterfeld der Aktivitätsausgabe verweist. Um auf einen Pipelineparameter zu verweisen, der zu einem Unterfeld ausgewertet wird, verwenden Sie die [] Syntax anstelle des Operators dot(.) (wie bei Unterfeld1 und Unterfeld2).

@activity('*activityName*').output.*subfield1*.*subfield2*[pipeline().parameters.*subfield3*].*subfield4*

Editor für dynamische Inhalte

Der dynamische Inhalts-Editor entfernt automatisch Zeichen in Ihrem Inhalt, wenn Sie die Bearbeitung abgeschlossen haben. Der folgende Inhalt im Inhalts-Editor ist beispielsweise eine Zeichenfolgeninterpolation mit einer Ausdrucksfunktion:

@{toUpper('myData')}

Der dynamische Inhalts-Editor konvertiert den vorherigen Inhalt in den folgenden Ausdruck:

MYDATA

Verwenden von Funktionen und Variablen in Ausdrücken

Sie können Funktionen aufrufen und Variablen innerhalb von Ausdrücken verwenden. Die folgenden Abschnitte enthalten Informationen zu den Funktionen, die in einem Ausdruck verwendet werden können.

Pipelineumfangsvariablen

Auf diese Systemvariablen kann überall im Pipeline-JSON verwiesen werden.

Variablenname Description
@pipeline().DataFactory Name des Daten- oder Synapse-Arbeitsbereich, in dem die Pipelineausführung erfolgt
@pipeline().Pipeline Name der Pipeline
@pipeline().RunId ID der jeweiligen Pipelineausführung
@pipeline().TriggerId ID des Triggers, der die Pipeline aufgerufen hat
@pipeline().TriggerName Name des Triggers, der die Pipeline aufgerufen hat
@pipeline().TriggerTime Zeitpunkt der Triggerausführung, durch die die Pipeline aufgerufen wurde. Dies ist der Zeitpunkt, zu dem der Trigger zum Aufrufen der Pipelineausführung tatsächlich ausgelöst wurde. Er kann vom geplanten Zeitpunkt für den Trigger geringfügig abweichen.
@pipeline().GroupId ID der Gruppe, zu der die Pipelineausführung gehört. In Microsoft Fabric bezieht sich eine Gruppe auf eine Sammlung verwandter Ressourcen, die zusammen verwaltet werden können. Gruppen werden verwendet, um den Zugriff auf Ressourcen zu organisieren und zu steuern, wodurch das Verwalten von Berechtigungen und das Überwachen von Aktivitäten über mehrere Pipelines hinweg erleichtert wird.
@pipeline()?. TriggeredByPipelineName Name der Pipeline, die die Pipelineausführung auslöst. Gilt, wenn die Pipelineausführung durch eine ExecutePipeline-Aktivität ausgelöst wird. Wird in anderen Fällen als Null ausgewertet. Beachten Sie das Fragezeichen nach @pipeline().
@pipeline()?. TriggeredByPipelineRunId Ausführungs-ID der Pipeline, die die Pipelineausführung auslöst. Gilt, wenn die Pipelineausführung durch eine ExecutePipeline-Aktivität ausgelöst wird. Wird in anderen Fällen als Null ausgewertet. Beachten Sie das Fragezeichen nach @pipeline().

Note

Triggerbezogene Systemvariablen für Datum/Uhrzeit (in Pipeline- und Triggerbereichen) geben UTC-Datumsangaben im ISO 8601-Format zurück, z. B. 2017-06-01T22:20:00.4061448Z.

Zeichenfolgenfunktionen

Für die Arbeit mit Zeichenfolgen können Sie folgende Zeichenfolgenfunktionen und auch einige Sammlungsfunktionen verwenden. Zeichenfolgenfunktionen funktionieren nur mit Zeichenfolgen.

String-Funktion Task
concat Kombiniert mindestens zwei Zeichenfolgen miteinander und gibt die kombinierte Zeichenfolge zurück.
endsWith Überprüft, ob eine Zeichenfolge mit der angegebenen Teilzeichenfolge endet.
guid Generiert einen global eindeutigen Bezeichner (Globally Unique Identifier, GUID) als Zeichenfolge.
indexOf Gibt die Anfangsposition für eine Teilzeichenfolge zurück.
lastIndexOf Gibt die Anfangsposition des letzten Vorkommens eines substrings zurück.
replace Ersetzt eine Teilzeichenfolge durch die angegebene Zeichenfolge und gibt die aktualisierte Zeichenfolge zurück.
split Gibt ein Array mit Teilzeichenfolgen, die durch Trennzeichen getrennt sind, aus einer größeren Zeichenfolge basierend auf einem angegebenen Trennzeichen in der ursprünglichen Zeichenfolge zurück.
startsWith Überprüft, ob eine Zeichenfolge mit einer bestimmten Teilzeichenfolge beginnt.
substring Gibt Zeichen aus einer Zeichenfolge zurück, beginnend mit der angegebenen Position.
toLower Gibt eine Zeichenfolge in Kleinbuchstaben zurück.
toUpper Gibt eine Zeichenfolge in Großbuchstaben zurück.
trim Entfernt führende und nachfolgende Leerzeichen aus einer Zeichenfolge und gibt die aktualisierte Zeichenfolge zurück.

Sammlungsfunktionen

Für die Arbeit mit Sammlungen (in der Regel Arrays, Zeichenfolgen und manchmal auch Bibliotheken) können Sie folgende Sammlungsfunktionen verwenden.

Sammlungsfunktion Task
contains Überprüft, ob eine Sammlung ein bestimmtes Element enthält.
empty Überprüft, ob eine Sammlung leer ist.
first Gibt das erste Element aus einer Sammlung zurück.
intersection Gibt eine Sammlung zurück, die nur die gängigen Elemente aus den angegebenen Sammlungen enthält.
join Gibt eine Zeichenfolge zurück, die alle Elemente aus einem Array enthält, getrennt durch das angegebene Zeichen.
last Gibt das letzte Element aus einer Sammlung zurück.
length Gibt die Anzahl der Elemente in einer Zeichenfolge oder einem Array zurück.
skip Entfernt Elemente vom Anfang einer Sammlung und gibt alle anderen Elemente zurück.
take Gibt Elemente vom Anfang einer Sammlung zurück.
union Gibt eine Sammlung zurück, die sämtliche Elemente aus den angegebenen Sammlungen enthält.

Logische Funktionen

Diese Funktionen können innerhalb von Bedingungen zur Auswertung einer beliebigen Art von Logik verwendet werden.

Logische Vergleichsfunktion Task
and Überprüft, ob für sämtliche Ausdrücke der Wert „TRUE“ festgelegt ist.
equals Überprüft, ob beide Werte identisch sind.
greater Überprüft, ob der erste Wert größer als der zweite ist.
greaterOrEquals Überprüft, ob der erste Wert größer als oder gleich dem zweiten ist.
if Überprüft, ob ein Ausdruck gleich „true“ oder „false“ ist. Gibt abhängig vom Ergebnis einen angegebenen Wert zurück.
less Überprüft, ob der erste Wert kleiner als der zweite ist.
lessOrEquals Überprüft, ob der erste Wert kleiner als oder gleich dem zweiten ist.
not Überprüfen, ob ein Ausdruck falsch ist.
or Prüfen Sie, ob mindestens ein Ausdruck wahr ist.

Konvertierungsfunktionen

Diese Funktionen dienen zum Konvertieren zwischen den einzelnen nativen Typen in der Sprache:

  • string
  • integer
  • float
  • boolean
  • arrays
  • dictionaries
Konvertierungsfunktion Task
array Gibt ein Array aus einer einzelnen angegebenen Eingabe zurück. Für mehrere Eingaben siehe createArray.
base64 Gibt die base64-codierte Version für eine Zeichenfolge zurück.
base64ToBinary Gibt die Binärversion für eine base64-codierte Zeichenfolge zurück.
base64ToString Gibt die Zeichenfolgenversion für eine base64-codierte Zeichenfolge zurück.
binary Gibt die Binärversion für einen Eingabewert zurück.
bool Gibt die boolesche Darstellung eines Eingabewerts zurück.
coalesce Gibt den ersten Wert ungleich NULL aus mindestens einem Parameter zurück.
createArray Gibt ein Array aus mehreren Eingaben zurück.
dataUri Gibt den Daten-URI für einen Eingabewert zurück.
dataUriToBinary Gibt die Binärversion für einen Daten-URI zurück.
dataUriToString Gibt die Zeichenfolgenversion für einen Daten-URI zurück.
decodeBase64 Gibt die Zeichenfolgenversion für eine base64-codierte Zeichenfolge zurück.
decodeDataUri Gibt die Binärversion für einen Daten-URI zurück.
decodeUriComponent Gibt eine Zeichenfolge zurück, in der Escapezeichen durch decodierte Versionen ersetzt sind.
encodeUriComponent Gibt eine Zeichenfolge zurück, die URL-unsichere Zeichen durch Escapezeichen ersetzt.
float Gibt eine Gleitkommazahl für einen Eingabewert zurück.
int Gibt die Ganzzahlversion für eine Zeichenfolge zurück.
json Gibt den JSON-Typwert oder das JSON-Objekt (JSON = JavaScript Object Notation) für eine Zeichenfolge oder XML zurück.
string Gibt die Zeichenfolgenversion für einen Eingabewert zurück.
uriComponent Gibt die URI-codierte Version für einen Eingabewert zurück, indem URL-unsichere Zeichen durch Escapezeichen ersetzt werden.
uriComponentToBinary Gibt die Binärversion für eine URI-codierte Zeichenfolge zurück.
uriComponentToString Gibt die Zeichenfolgenversion für eine URI-codierte Zeichenfolge zurück.
xml Gibt die XML-Version für eine Zeichenfolge zurück.
xpath Überprüft die XML auf Knoten oder Werte, die mit einem XPath-Ausdruck (XML Path Language) übereinstimmen, und gibt die übereinstimmenden Knoten oder Werte zurück.

Mathematische Funktionen

Diese Funktionen können für folgende Arten von Zahlen verwendet werden: ganze Zahlen und Gleitkommazahlen.

Mathematische Funktion Task
add Gibt das Ergebnis der Addition zweier Zahlen zurück.
div Gibt das Ergebnis der Division zweier Zahlen zurück.
max Gibt den höchsten Wert aus einer Reihe von Zahlen oder einem Array zurück.
min Gibt den niedrigsten Wert aus einer Reihe von Zahlen oder einem Array zurück.
mod Gibt den Restwert aus der Division zweier Zahlen zurück.
mul Gibt das Produkt aus der Multiplikation zweier Zahlen zurück.
rand Gibt eine beliebige ganze Zahl aus einem angegebenen Bereich zurück.
range Gibt ein Array mit ganzen Zahlen zurück, das mit einer angegebenen ganzen Zahl beginnt.
sub Gibt das Ergebnis aus der Subtraktion der zweiten Zahl von der ersten Zahl zurück.

Datumsfunktionen

Datums- oder Zeitfunktion Task
addDays Fügt eine Anzahl von Tagen zu einem Zeitstempel hinzu.
addHours Fügt eine Anzahl von Stunden zu einem Zeitstempel hinzu.
addMinutes Fügt eine Anzahl von Minuten zu einem Zeitstempel hinzu.
addSeconds Fügt eine Anzahl von Sekunden zu einem Zeitstempel hinzu.
addToTime Fügt eine Anzahl von Zeiteinheiten zu einem Zeitstempel hinzu. Siehe auch getFutureTime.
convertFromUtc Konvertiert einen Zeitstempel von der UTC-Zeitzone (UTC = Universal Time, Coordinated) in die Zielzeitzone.
convertTimeZone Konvertiert einen Zeitstempel von der Quellzeitzone in die Zielzeitzone.
convertToUtc Konvertiert einen Zeitstempel von der Quellzeitzone in die UTC-Zeitzone (UTC = Universal Time, Coordinated).
dayOfMonth Gibt die Komponente „Tag des Monats“ eines Zeitstempels zurück.
dayOfWeek Gibt die Komponente „Tag der Woche“ eines Zeitstempels zurück.
dayOfYear Gibt die Komponente „Tag des Jahres“ eines Zeitstempels zurück.
formatDateTime Gibt den Zeitstempel als Zeichenfolge in optionalem Format zurück.
getFutureTime Gibt den aktuellen Zeitstempel plus der angegebenen Zeiteinheiten zurück. Siehe auch addToTime.
getPastTime Gibt den aktuellen Zeitstempel abzüglich der angegebenen Zeiteinheiten zurück. Siehe auch subtractFromTime.
startOfDay Gibt den Beginn des Tages für einen Zeitstempel zurück.
startOfHour Gibt den Beginn der Stunde für einen Zeitstempel zurück.
startOfMonth Gibt den Beginn des Monats für einen Zeitstempel zurück.
subtractFromTime Subtrahiert eine Anzahl von Zeiteinheiten von einem Zeitstempel. Siehe auch getPastTime.
ticks Gibt den Eigenschaftswert ticks für einen angegebenen Zeitstempel zurück.
utcNow Gibt den aktuellen Zeitstempel als Zeichenfolge zurück.