Parametrisieren von Zuordnungsdatenflüssen

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!

Zuordnungsdatenflüsse in Data Factory- und Azure Synapse-Pipelines unterstützen die Verwendung von Parametern. Definieren Sie Parameter innerhalb Ihrer Datenflussdefinition, und verwenden Sie sie in allen Ihren Ausdrücken. Die Parameterwerte werden von der aufrufenden Pipeline über die Aktivität „Datenfluss ausführen“ festgelegt. Sie haben drei Möglichkeiten, die Werte in den Ausdrücken der Datenflussaktivität festzulegen:

  • Verwenden der Ausdruckssprache für die Pipeline-Ablaufsteuerung, um einen dynamischen Wert festzulegen
  • Verwenden der Ausdruckssprache für den Datenfluss, um einen dynamischen Wert festzulegen
  • Verwenden einer der beiden Ausdruckssprachen, um einen statischen Literalwert festzulegen

Nutzen Sie diese Funktion, um Ihre Datenflüsse universell einsetzbar, flexibel und wiederverwendbar zu gestalten. Mit diesen Parametern können Sie Datenflusseinstellungen und -ausdrücke parametrisieren.

Erstellen von Parametern in einem Zuordnungsdatenfluss

Wenn Sie Parameter zu Ihrem Datenfluss hinzufügen möchten, klicken Sie auf den leeren Bereich der Datenflusscanvas, um die allgemeinen Eigenschaften anzuzeigen. Im Einstellungsbereich sehen Sie die Registerkarte Parameter. Wählen Sie Neu aus, um einen neuen Parameter zu generieren. Für jeden Parameter müssen Sie einen Namen angeben, einen Typ auswählen und optional einen Standardwert festlegen.

Screenshot of create Data Flow parameters.

Verwenden von Parametern in einem Zuordnungsdatenfluss

Auf Parameter kann in jedem beliebigen Datenflussausdruck verwiesen werden. Parameter beginnen mit $ und sind unveränderlich. Die Liste der verfügbaren Parameter finden Sie im Ausdrucks-Generator auf der Registerkarte Parameter.

Screenshot shows the available parameters in the Parameters tab.

Sie können zusätzliche Parameter schnell hinzufügen, indem Sie Neuer Parameter auswählen und dann den Namen und Typ angeben.

Screenshot shows the parameters in the Parameters tab with new parameters added.

Verwenden parametrisierter verknüpfter Dienste in einem Zuordnungsdatenfluss

Parametrisierte verknüpfte Dienste können in einem Zuordnungsdatenfluss (für Datasets oder Inlinequelltypen) verwendet werden.

Für den Inlinequelltyp werden die verknüpften Dienstparameter in den Datenflussaktivitätseinstellungen innerhalb der Pipeline verfügbar gemacht, wie unten dargestellt.

Screenshot shows the use of linked service parameters in the data flow.

Für den Datenquellentyp des Datasets werden die verknüpften Dienstparameter direkt in der Datasetkonfiguration verfügbar gemacht.

Zuweisen von Parameterwerten aus einer Pipeline

Nachdem Sie einen Datenfluss mit Parametern erstellt haben, können Sie ihn mit der Aktivität „Datenfluss ausführen“ aus einer Pipeline ausführen. Nachdem Sie die Aktivität zu Ihrer Pipelinecanvas hinzugefügt haben, werden Ihnen auf der Registerkarte Parameter der Aktivität die verfügbaren Datenflussparameter angezeigt.

Zum Zuweisen von Parameterwerten können Sie entsprechend dem Spark-Typ entweder die Ausdruckssprache für die ADF-Pipeline oder die Ausdruckssprache für Datenflüsse verwenden. Jede Mapping Data Flow-Funktion kann eine beliebige Kombination von Pipeline- und Datenfluss-Ausdrucksparametern aufweisen.

Screenshot shows the Parameters tab with Data Flow expression selected for the value of myparam.

Pipeline-Ausdrucksparameter

Mit Pipeline-Ausdrucksparametern können Sie ähnlich anderen Pipelineaktivitäten auf Systemvariablen, Funktionen, Pipelineparameter und Variablen verweisen. Wenn Sie auf Pipeline expression (Pipelineausdruck) klicken, wird ein Seitennavigationsbereich geöffnet, in dem Sie einen Ausdruck mithilfe des Ausdrucks-Generators eingeben können.

Screenshot shows the expression builder pane.

Wenn auf die Pipelineparameter verwiesen wird, werden sie ausgewertet. Der Wert wird dann in der Ausdruckssprache für Datenflüsse verwendet. Der Typ des Pipelineausdrucks muss nicht mit dem Parametertyp im Datenfluss übereinstimmen.

Zeichenfolgenliterale im Vergleich zu Ausdrücken

Wenn Sie einen Pipeline-Ausdrucksparameter vom Typ String zuweisen, werden standardmäßig Anführungszeichen hinzugefügt, und der Wert wird als Literalwert ausgewertet. Um den Parameterwert als Datenflussausdruck zu lesen, aktivieren Sie das Feld „Ausdruck“ neben dem Parameter.

Screenshot shows the Data flow parameters pane Expression selected for a parameter.

Wenn der Datenflussparameter stringParam auf einen Pipelineparameter mit dem Wert upper(column1) verweist.

  • Wenn „Ausdruck“ aktiviert ist, wird $stringParam als der Wert von „column1“ in Großbuchstaben ausgewertet.
  • Wenn „Ausdruck“ nicht aktiviert ist (Standardverhalten), wird $stringParam als 'upper(column1)' ausgewertet.

Übergeben von Zeitstempeln

In der Pipeline-Ausdruckssprache können Systemvariablen wie pipeline().TriggerTime und Funktionen wie utcNow() Zeitstempel als Zeichenfolgen im Format „jjjj-MM-ttTHH:mm:ss.SSSSSSZ“ zurückgeben. Verwenden Sie zum Konvertieren dieser Ausdrücke in Datenflussparametern vom Typ Zeitstempel die Zeichenfolgeninterpolation, um den gewünschten Zeitstempel in eine toTimestamp()-Funktion einzuschließen. Wenn Sie z. B. die Pipeline-Auslösungszeit in einen Datenflussparameter konvertieren möchten, können Sie toTimestamp(left('@{pipeline().TriggerTime}', 23), 'yyyy-MM-dd\'T\'HH:mm:ss.SSS') verwenden.

Screenshot shows the Parameters tab where you can enter a trigger time.

Hinweis

Datenflüsse unterstützen nur bis zu drei Millisekundenstellen. Die left()-Funktion wird zum Kürzen zusätzlicher Stellen verwendet.

Beispiel für Pipelineparameter

Angenommen, Sie verfügen über den Integerparameter intParam, der auf einen Pipelineparameter vom Typ String verweist: @pipeline.parameters.pipelineParam.

Screenshot shows the Parameters tab with parameters named stringParam and intParam.

@pipeline.parameters.pipelineParam wird zur Laufzeit der Wert abs(1) zugewiesen.

Screenshot shows the Parameters tab with the value of a b s (1) selected.

Wenn in einem Ausdruck auf $intParam verwiesen wird, z. B. in einer abgeleiteten Spalte, wird abs(1) ausgewertet und 1 zurückgegeben.

Screenshot shows the columns value.

Datenfluss-Ausdrucksparameter

Wählen Sie Data flow expression (Datenflussausdruck) aus, um den Ausdrucks-Generator für Datenflüsse zu öffnen. Sie können im gesamten Datenfluss auf Funktionen, andere Parameter und jede definierte Schemaspalte verweisen. Dieser Ausdruck wird in dem Zustand ausgewertet, in dem auf ihn verwiesen wird.

Hinweis

Wenn Sie einen ungültigen Ausdruck übergeben oder auf eine Schemaspalte verweisen, die in dieser Transformation nicht vorhanden ist, wird der Parameter als NULL ausgewertet.

Übergeben eines Spaltennamens als Parameter

Ein gängiges Muster ist die Übergabe eines Spaltennamen als Parameterwert. Wenn die Spalte im Datenflussschema definiert ist, können Sie direkt als Zeichenfolgenausdruck auf sie verweisen. Wenn die Spalte nicht im Schema definiert ist, verwenden Sie die byName()-Funktion. Denken Sie daran, die Spalte mithilfe einer Umwandlungsfunktion wie toString() in ihren entsprechenden Typ umzuwandeln.

Wenn Sie beispielsweise eine Zeichenfolgenspalte aufgrund eines columnName-Parameters zuordnen möchten, können Sie eine abgeleitete Spaltentransformation gleich toString(byName($columnName)) hinzufügen.

Passing in a column name as a parameter

Hinweis

In Datenflussausdrücken wird die Zeichenfolgeninterpolation (Ersetzen von Variablen innerhalb der Zeichenfolge) nicht unterstützt. Verketten Sie stattdessen den Ausdruck in Zeichenfolgenwerte. Beispiel: 'string part 1' + $variable + 'string part 2'