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.
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.
Sie können zusätzliche Parameter schnell hinzufügen, indem Sie Neuer Parameter auswählen und dann den Namen und Typ angeben.
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.
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.
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.
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.
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.
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
.
@pipeline.parameters.pipelineParam
wird zur Laufzeit der Wert abs(1)
zugewiesen.
Wenn in einem Ausdruck auf $intParam
verwiesen wird, z. B. in einer abgeleiteten Spalte, wird abs(1)
ausgewertet und 1
zurückgegeben.
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.
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'