Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel erfahren Sie, wie Sie Parameter in Ihren Data Factory-Pipelines in Fabric verwenden, damit Sie flexible, wiederverwendbare Workflows erstellen können.
Verwenden von Parametern, Ausdrücken und Funktionen in Data Factory-Pipelines
Dieser Abschnitt führt Sie durch die Grundlagen des Erstellens parametrisierter Pipelines in Data Factory für Fabric mithilfe klarer Beispiele. Parameter und dynamische Ausdrücke sparen Zeit und ermöglichen es Ihnen, flexible Extract-, Transform-, Load -, (ETL)- oder Extract-, Load-, Transformations-(ELT)-Lösungen zu erstellen. Sie reduzieren die Hartcodierung und ermöglichen es Ihnen, Objekte und Prozesse wiederzuverwenden, wodurch Pipelines einfacher verwaltet werden können, und sie ermöglichen es Ihnen, neue Features schneller zu versenden.
Parameter- und Ausdruckskonzepte
Sie können Parameter verwenden, um externe Werte an Ihre Pipelines zu übergeben. Nachdem Sie einen Parameter festgelegt haben, bleibt der Wert während der gesamten Ausführung gleich. Mithilfe von Parametern können Sie die gleiche Pipeline jedes Mal mit unterschiedlichen Werten wiederverwenden. Sie können Parameter eigenständig oder in Ausdrücken verwenden, deren Werte entweder festgelegt oder zur Laufzeit der Pipeline berechnet werden.
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 das @, um den tatsächlichen Inhalt abzurufen. Um eine Zeichenfolge zu verwenden, die mit @ beginnt, maskieren Sie sie, indem Sie @@ eingeben. Die folgenden Beispiele 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). |
Ausdrücke können auch in Zeichenfolgen mithilfe von Zeichenfolgeninterpolation vorkommen, bei der Ausdrücke in @{ ... } eingeschlossen werden. Die folgende Zeichenfolge enthält z. B. Parameterwerte und Literalzeichenfolgen.
"Vorname: @{pipeline().parameters.firstName} Nachname: @{pipeline().parameters.lastName}"
Die Zeichenfolgeninterpolation gibt immer eine Zeichenfolge zurück. Wenn Sie z. B. myNumber als 42 und myString als foo definieren:
| 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 Parameterausdrücke
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 +Neu aus, um der Pipeline einen Parameter hinzuzufügen, und weisen Sie ihm einen Namen, einen Datentyp und einen Standardwert zu:
Sie können dann den Parameter an einer beliebigen Stelle verwenden, an der Ihre Pipeline dynamische Inhalte unterstützt. In diesem Beispiel stellt der Parameter dynamisch den Namen eines Lakehouse-Datenspeichers auf der Registerkarte "Quelle" der Eigenschaftenseiten eines Copy-Aktivität bereit.
Das Fenster Dynamische Inhalte hinzufügen wird geöffnet. Verwenden Sie sie, um jede Art dynamischer Inhalte anzugeben, einschließlich Parametern, Systemvariablen, Funktionen oder Pipelinevariablen. In diesem Beispiel wählen Sie den zuvor definierten Parameter aus, und das dynamische Inhaltsfenster füllt automatisch den richtigen Ausdruck auf, um darauf zu verweisen.
Parametrisieren von Verbindungen
Um Verbindungen in Pipelines zu parametrisieren, verwenden Sie die GUID (Globally Unique Identifier) der Verbindung, die Sie dynamisch ersetzen möchten.
- Bevor Sie die Verbindung in Ihrer Pipeline dynamisch ändern, rufen Sie die GUID der Verbindung ab, die Sie festlegen möchten.
- Wechseln Sie zu "Einstellungen>Verwalten von Verbindungen und Gateways".
- Suchen Sie den Namen der Verbindung und wählen Sie die Ellipse (...) daneben aus.
- Wählen Sie "Einstellungen" aus, und kopieren Sie die Verbindungs-ID.
- Fügen Sie die GUID in einen Zeichenfolgenparameter ein, und verweisen Sie in Ihrem dynamischen Ausdruck auf diesen Parameter.
Beispiel für komplexen Ausdruck
Der folgende Ausdruck verweist auf ein tiefes Unterfeld der Aktivitätsausgabe. Um auf einen Pipelineparameter zu verweisen, der zu einem Unterfeld ausgewertet wird, verwenden Sie die Syntax [] anstelle des Punktoperators (.), wie bei subfield1 und subfield2.
@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
Sie können auf diese Systemvariablen an einer beliebigen Stelle im Pipeline-JSON-Code verweisen.
| Variablenname | Description |
|---|---|
| @pipeline().DataFactory | Name des Arbeitsbereichs, in dem die Pipelineausführung ausgeführt wird |
| @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. Dieser Wert ist der Zeitpunkt, zu dem der Trigger tatsächlich ausgelöst wurde, um die Pipelineausführung aufzurufen, und er kann sich geringfügig von der geplanten Zeit des Triggers unterscheiden. |
| @pipeline().GroupId | ID der Gruppe, zu der die Pipeline-Ausführung gehört. In Microsoft Fabric ist eine Gruppe eine Sammlung verwandter Ressourcen, die Sie zusammen verwalten. Gruppen organisieren und steuern den Zugriff auf Ressourcen, wodurch die Verwaltung von Berechtigungen und die Überwachung von Aktivitäten über mehrere Pipelines hinweg erleichtert wird. |
| @pipeline()?. TriggeredByPipelineName | Name der Pipeline, die den Pipeline-Lauf auslöst. Gilt, wenn eine Execute Pipeline-Aktivität die Pipelineausführung auslöst. Wertet in anderen Fällen auf Null aus. Beachten Sie das Fragezeichen nach @pipeline(). |
| @pipeline()?.TriggeredByPipelineRunId | Ausführungs-ID der Pipeline, die die Pipelineausführung auslöst. Gilt, wenn eine Execute Pipeline-Aktivität die Pipelineausführung auslöst. Wertet in anderen Fällen auf Null aus. Beachten Sie das Fragezeichen nach @pipeline(). |
Note
Triggerbezogene Datums-/Uhrzeit-Systemvariablen (sowohl in Pipeline- als auch Triggerbereichen) geben UTC-Datumsangaben (Coordinated Universal Time) im ISO 8601-Format zurück, 2017-06-01T22:20:00.4061448Zz. B. .
Zeichenfolgenfunktionen
Verwenden Sie diese Zeichenfolgenfunktionen und auch einige Sammlungsfunktionen, um mit Zeichenfolgen zu arbeiten. 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
Verwenden Sie diese Auflistungsfunktionen, um mit Auflistungen wie Arrays, Zeichenfolgen und Wörterbüchern zu arbeiten.
| 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
Verwenden Sie diese Funktionen innerhalb von Bedingungen, um jede Art von Logik auszuwerten.
| 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
Verwenden Sie diese Funktionen, um zwischen den einzelnen nativen Typen der Sprache zu konvertieren:
- 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
Verwenden Sie diese Funktionen mit beiden Zahlentypen: ganze Zahlen und Floats.
| 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 | Konvertieren Sie einen Zeitstempel aus koordinierter Weltzeit (UTC) in die Zielzeitzone. |
| convertTimeZone | Konvertiert einen Zeitstempel von der Quellzeitzone in die Zielzeitzone. |
| convertToUtc | Wandeln Sie einen Zeitstempel aus der Quellzeitzone in koordinierte Weltzeit (COORDINATED Universal Time, UTC) um. |
| 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. |