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.
Gilt für:
Azure Data Factory
Azure Synapse Analytics
Tipp
Data Factory in Microsoft Fabric ist die nächste Generation von Azure Data Factory mit einer einfacheren Architektur, integrierter KI und neuen Features. Wenn Sie mit der Datenintegration noch nicht vertraut sind, beginnen Sie mit Fabric Data Factory. Vorhandene ADF-Workloads können auf Fabric aktualisiert werden, um auf neue Funktionen in der Datenwissenschaft, Echtzeitanalysen und Berichterstellung zuzugreifen.
In diesem Tutorial erstellen Sie eine Data Factory-Pipeline, die einige Ablaufsteuerungsfunktionen vorstellt. Diese Pipeline führt eine einfache Kopie aus einem Container in Azure Blob Storage in einen anderen Container im selben Speicherkonto aus. War die Kopieraktivität erfolgreich, sendet die Pipeline eine E-Mail mit Details zum erfolgreichen Kopiervorgang (beispielsweise die geschriebene Datenmenge). War die Kopieraktivität nicht erfolgreich, sendet die Pipeline eine E-Mail mit Fehlerdetails (beispielsweise die Fehlermeldung). In diesem Tutorial erfahren Sie, wie Sie Parameter übergeben.
Eine allgemeine Übersicht über das Szenario:
In diesem Tutorial führen Sie die folgenden Schritte aus:
- Erstellen einer Data Factory.
- Erstellen Sie einen Azure Storage verknüpften Dienst.
- Erstellen eines Azure Blob-Datasets
- Erstellen einer Pipeline, die eine Kopieraktivität und eine Webaktivität enthält
- Versenden der Ergebnisse von Aktivitäten an nachfolgende Aktivitäten.
- Nutzen Sie die Parameterübergabe und die Systemvariablen.
- Starten einer Pipelineausführung.
- Überwachen der Pipeline- und Aktivitätsausführungen.
In diesem Lernprogramm wird Azure Portal verwendet. Sie können andere Mechanismen verwenden, um mit Azure Data Factory zu interagieren, siehe "Schnellstarts" im Inhaltsverzeichnis.
Voraussetzungen
- Azure-Abonnement. Wenn Sie nicht über ein Azure-Abonnement verfügen, erstellen Sie ein free Konto, bevor Sie beginnen.
- Azure Storage-Konto. Sie verwenden den Blob Storage als Quelldatenspeicher. Wenn Sie nicht über ein Azure-Speicherkonto verfügen, lesen Sie den Artikel Create a storage account, um Schritte zum Erstellen eines solchen zu finden.
- Azure SQL-Datenbank. Sie verwenden die Datenbank als Senken-Datenspeicher. Wenn Sie nicht über eine Datenbank in Azure SQL-Datenbank verfügen, lesen Sie den Artikel Create a database in Azure SQL-Datenbank für Schritte zur Erstellung einer.
Erstellen Sie eine Blob-Tabelle
Starten Sie Notepad. Kopieren Sie den folgenden Text, und speichern Sie ihn als input.txt-Datei auf Ihrem Datenträger.
John,Doe Jane,DoeVerwenden Sie Tools wie Azure Storage-Explorer führen Sie die folgenden Schritte aus:
- Erstellen Sie den Container adfv2branch.
- Erstellen Sie im Container adfv2branch den Ordner input.
- Laden Sie die Datei input.txt in den Container hoch.
Erstellen von E-Mail-Workflow-Endpunkten
Um das Senden einer E-Mail aus der Pipeline auszulösen, verwenden Sie Azure Logic Apps zum Definieren des Workflows. Weitere Informationen zum Erstellen eines Logik-App-Workflows finden Sie unter Erstellen eines Beispiels eines Verbrauchs-Logik-App-Workflows.
Erfolgs-E-Mail-Workflow
Erstellen eines Verbrauchs-Logik-App-Workflows mit Namen CopySuccessEmail. Fügen Sie den Anforderungstrigger namens Wenn eine HTTP-Anfrage empfangen wird hinzu, und fügen Sie die Office 365 Outlook-Aktion namens E-Mail senden hinzu. Wenn Sie dazu aufgefordert werden, melden Sie sich bei Ihrem Office 365 Outlook Konto an.
Füllen Sie für den Anforderungstrigger das Feld JSON-Schema für Anforderungstext mit dem folgenden JSON-Code aus:
{
"properties": {
"dataFactoryName": {
"type": "string"
},
"message": {
"type": "string"
},
"pipelineName": {
"type": "string"
},
"receiver": {
"type": "string"
}
},
"type": "object"
}
Der Anforderungstrigger im Workflow-Designer sollte wie das folgende Bild aussehen:
Für die Aktion E-Mail senden passen Sie an, wie Sie die E-Mail formatieren möchten, indem Sie die Eigenschaften nutzen, die im Anforderungstext des JSON-Schemas übergeben wurden. Beispiel:
Speichern Sie den Workflow. Notieren Sie sich die HTTP-Post-Anforderungs-URL für Ihren Erfolgs-E-Mail-Workflow:
//Success Request Url
https://prodxxx.eastus.logic.azure.com:443/workflows/000000/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=000000
Fehler-E-Mail-Workflow
Erstellen Sie mit den gleichen Schritten einen weiteren Logik-App-Workflow mit Namen CopyFailEmail. Im Anforderungstrigger ist der Anforderungstext des JSON-Schemas der gleiche. Ändern Sie das Format Ihrer E-Mail wie bei Subject, um es an eine Fehlermeldungs-E-Mail anzupassen. Beispiel:
Speichern Sie den Workflow. Notieren Sie sich die HTTP-Post-Anforderungs-URL für Ihren Fehler-E-Mail-Workflow:
//Fail Request Url
https://prodxxx.eastus.logic.azure.com:443/workflows/000000/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=000000
Sie sollten nun über zwei Workflow-URLs verfügen:
//Success Request Url
https://prodxxx.eastus.logic.azure.com:443/workflows/000000/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=000000
//Fail Request Url
https://prodxxx.eastus.logic.azure.com:443/workflows/000000/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=000000
Erstellen einer Data Factory
Starten Sie Microsoft Edge oder Google Chrome Webbrowser. Derzeit wird data Factory UI nur in Microsoft Edge- und Google Chrome-Webbrowsern unterstützt.
Erweitern Sie das Menü oben links, und wählen Sie Ressource erstellen aus. Wählen Sie dann Analytics>Data Factory aus:
Geben Sie auf der Seite Neue Data Factory unter Name den Namen ADFTutorialDataFactory ein.
Der Name der Azure Data Factory muss globally unique sein. Sollte der folgende Fehler auftreten, ändern Sie den Namen der Data Factory (beispielsweise in „
ADFTutorialDataFactory“), und wiederholen Sie den Vorgang. Benennungsregeln für Data Factory-Artefakte finden Sie im Artikel Azure Data Factory – Benennungsregeln. Der Data Factory-Name „ADFTutorialDataFactory“ ist nicht verfügbar.
Wählen Sie Ihr Azure Abonnement aus, in dem Sie die Data Factory erstellen möchten.
Führen Sie für die Ressourcengruppe einen der folgenden Schritte aus:
Wählen Sie Use existing und wählen Sie in der Dropdownliste eine vorhandene Ressourcengruppe aus.
Wählen Sie Neu erstellen, und geben Sie den Namen einer Ressourcengruppe ein.
Weitere Informationen zu Ressourcengruppen finden Sie unter Verwendung von Ressourcengruppen zum Verwalten ihrer Azure Ressourcen.
Wählen Sie V2 als Version aus.
Wählen Sie den Standort für die Data Factory aus. In der Dropdownliste werden nur unterstützte Standorte angezeigt. Die Datenspeicher (Azure Storage, Azure SQL-Datenbank, etc.) und Berechnungen (HDInsight, usw.), die von der Data Factory verwendet werden, können sich in anderen Regionen befinden.
Wählen Sie die Option An Dashboard anheften aus.
Klicken Sie auf Erstellen.
Nach Abschluss der Erstellung wird die Seite Data Factory wie in der Abbildung angezeigt.
Klicken Sie auf Open Azure Data Factory Studio Kachel, um die Azure Data Factory Benutzeroberfläche (UI) auf einer separaten Registerkarte zu starten.
Erstellen einer Pipeline
In diesem Schritt erstellen Sie eine Pipeline mit einer Copy-Aktivität und zwei Webaktivitäten. Zum Erstellen der Pipeline verwenden Sie folgende Features:
- Parameter für die Pipeline, auf die durch Datasets zugegriffen wird.
- Webaktivität zum Aufrufen von Logic Apps-Workflows für den Versand von Erfolgs-/Misserfolgs-E-Mails.
- Verbinden einer Aktivität mit einer anderen Aktivität (bei Erfolg und Misserfolg)
- Verwenden der Ausgabe aus einer Aktivität als eine Eingabe für die nachfolgende Aktivität.
Klicken Sie auf der Startseite der Data Factory Benutzeroberfläche auf die Kachel Orchestrieren.
Wechseln Sie im Eigenschaftenfenster für die Pipeline zur Registerkarte Parameter, und fügen Sie mithilfe der Schaltfläche Neu die drei folgenden Zeichenfolgenparameter hinzu: „sourceBlobContainer“, „sinkBlobContainer“ und „receiver“.
- sourceBlobContainer: Parameter in der Pipeline, der vom Quell-Blobdataset verarbeitet wird.
- sinkBlobContainer: Parameter in der Pipeline, der vom Senken-Blobdataset verarbeitet wird.
- receiver – Dieser Parameter wird von den beiden Webaktivitäten in der Pipeline verwendet, die Erfolgs- oder Fehlermeldungen an den Empfänger senden, dessen E-Mail-Adresse durch diesen Parameter angegeben wird.
Suchen Sie in der Toolbox Aktivitäten nach Kopieren, und ziehen Sie die Aktivität Kopieren auf die Oberfläche des Pipeline-Designers.
Wählen Sie die Aktivität Kopieren aus, die Sie auf die Oberfläche des Pipeline-Designers gezogen haben. Wechseln Sie im unteren Bereich des Fensters Eigenschaften für die Aktivität Kopieren zur Registerkarte Quelle, und klicken Sie auf + Neu. In diesem Schritt erstellen Sie ein Quelldataset für die Kopieraktivität.
Wählen Sie im Fenster Neues Dataset die Registerkarte Azure oben und dann Azure Blob Storage aus, und wählen Sie Continue aus.
Wählen Sie im Fenster Format auswählen die Option DelimitedText aus, und klicken Sie auf Fortfahren.
Daraufhin wird eine neue Registerkarte mit dem Titel Eigenschaften festlegen angezeigt. Ändern Sie den Namen des Datasets in SourceBlobDataset. Wählen Sie das Dropdownmenü Verknüpfter Dienst aus, und klicken Sie auf +Neu, um einen neuen verknüpften Dienst für Ihr Quelldataset zu erstellen.
Das Fenster Neuer verknüpfter Dienst wird angezeigt, in dem Sie die erforderlichen Eigenschaften für den verknüpften Dienst ausfüllen können.
Führen Sie im Fenster New Linked Service (Neuer verknüpfter Dienst) die folgenden Schritte aus:
- Geben Sie AzureStorageLinkedService für Name ein.
- Wählen Sie Ihr Azure-Speicherkonto für den Speicherkontonamen aus.
- Klicken Sie auf Erstellen.
Wählen Sie im Fenster Eigenschaften festlegen, das als Nächstes angezeigt wird, die Option Dieses Dataset öffnen, um einen parameterisierten Wert für den Dateinamen einzugeben.
Geben Sie
@pipeline().parameters.sourceBlobContainerfür den Ordner undemp.txtfür den Dateinamen ein.
Wechseln Sie zurück zur Registerkarte Pipeline (oder klicken Sie auf die Pipeline in der Strukturansicht links), und wählen Sie die Aktivität Kopieren im Designer aus. Vergewissern Sie sich, dass für das neue Dataset die Option Quelldataset ausgewählt ist.
Wechseln Sie im Eigenschaftenfenster zur Registerkarte Senke, und klicken Sie für Senkendataset auf + Neu. In diesem Schritt erstellen Sie ein Senkendataset für die Kopieraktivität. Die Vorgehensweise ähnelt dabei der Erstellung des Quelldatasets.
Wählen Sie im Fenster Neues DatasetAzure Blob Storage aus, und klicken Sie auf Continue, und wählen Sie dann DelimitedText erneut im Auswahlformatfenster aus, und klicken Sie erneut auf Continue.
Geben Sie auf der Seite Eigenschaften festlegen für das Dataset SinkBlobDataset unter Name ein, und wählen Sie AzureStorageLinkedService für LinkedService aus.
Erweitern Sie den Abschnitt „Erweitert“ der Eigenschaftenseite, und wählen Sie Dieses Dataset öffnen aus.
Bearbeiten Sie auf der Registerkarte Datasetverbindung den Dateipfad. Geben Sie
@pipeline().parameters.sinkBlobContainerfür den Ordner und@concat(pipeline().RunId, '.txt')für den Dateinamen ein. Durch den Ausdruck wird die ID der aktuellen Pipelineausführung als Dateiname verwendet. Eine Liste der unterstützten Systemvariablen und Ausdrücke finden Sie unter Von Azure Data Factory unterstützte Systemvariablen sowie unter Ausdrücke und Funktionen in Azure Data Factory.
Wechseln Sie im oberen Bereich wieder zur Registerkarte Pipeline. Suchen Sie im Suchfeld nach Web, und ziehen Sie eine Webaktivität auf die Pipeline-Designeroberfläche. Legen Sie den Namen der Aktivität auf SendSuccessEmailActivity fest. Die Webaktivität ermöglicht einen Aufruf an jeden beliebigen REST-Endpunkt. Weitere Informationen zur Aktivität finden Sie unter Web Activity (Webaktivität). Diese Pipeline verwendet eine Webaktivität, um den Logik-Apps-E-Mail-Workflow aufzurufen.
Wechseln Sie von der Registerkarte Allgemein zur Registerkarte Einstellungen, und führen Sie die folgenden Schritte aus:
Geben Sie unter URL die URL für den Logic Apps-Workflow an, der die Erfolgs-E-Mail sendet.
Wählen Sie unter Methode die Option POST aus.
Klicken Sie im Abschnitt Header auf den Link + Header hinzufügen.
Fügen Sie einen Header namens Content-Type hinzu, und legen Sie ihn auf application/json fest.
Geben Sie den folgenden JSON-Code für Body an.
{ "message": "@{activity('Copy1').output.dataWritten}", "dataFactoryName": "@{pipeline().DataFactory}", "pipelineName": "@{pipeline().Pipeline}", "receiver": "@pipeline().parameters.receiver" }Die Nachrichtentext enthält folgende Eigenschaften:
Nachricht: Übergibt den Wert von
@{activity('Copy1').output.dataWritten. Greift auf eine Eigenschaft der vorherigen Kopieraktivität zurück, und übergibt den Wert von DataWritten. Für den Fehlerfall, übergeben Sie die Fehlerausgabe anstelle von@{activity('CopyBlobtoBlob').error.message.Data Factory-Name – Übergibt den Wert von
@{pipeline().DataFactory}. Dies ist eine Systemvariable, die Ihnen den Zugriff auf den Namen der entsprechenden Data Factory ermöglicht. Eine Liste der Systemvariablen finden Sie im Artikel SystemvariablenPipelinename: Übergibt den Wert
@{pipeline().Pipeline}. Dies ist auch eine Systemvariable, die Ihnen den Zugriff auf den entsprechenden Pipelinenamen ermöglicht.Empfänger: Übergibt den Wert "@pipeline().parameters.receiver"). Zugriff auf die Pipeline-Parameter
Stellen Sie eine Verbindung zwischen der Aktivität Kopieren und der Aktivität Web her, indem Sie die grüne Kontrollkästchenschaltfläche neben der Kopieraktivität auf die Webaktivität ziehen.
Ziehen Sie eine weitere Aktivität vom Typ Web aus der Toolbox Aktivitäten auf die Oberfläche des Pipeline-Designers, und legen Sie den Namen auf SendFailureEmailActivity fest.
Wechseln Sie zur Registerkarte Einstellungen, und führen Sie die folgenden Schritte aus:
Geben Sie unter URL die URL für den Logic Apps-Workflow an, der die Fehler-E-Mail sendet.
Wählen Sie unter Methode die Option POST aus.
Klicken Sie im Abschnitt Header auf den Link + Header hinzufügen.
Fügen Sie einen Header namens Content-Type hinzu, und legen Sie ihn auf application/json fest.
Geben Sie den folgenden JSON-Code für Body an.
{ "message": "@{activity('Copy1').error.message}", "dataFactoryName": "@{pipeline().DataFactory}", "pipelineName": "@{pipeline().Pipeline}", "receiver": "@pipeline().parameters.receiver" }
Klicken Sie auf der rechten Seite der Aktivität Kopieren im Pipeline-Designer auf die rote Schaltfläche X, und verschieben Sie sie per Drag and Drop auf die gerade erstellte Webaktivität SendFailureEmailActivity.
Klicken Sie zum Überprüfen der Pipeline auf der Symbolleiste auf die Schaltfläche Überprüfen. Schließen Sie das Fenster mit der Ausgabe der Pipelinevalidierung, indem Sie auf die Schaltfläche >> klicken.
Wählen Sie zum Veröffentlichen der Entitäten (Datasets, Pipelines usw.) im Data Factory-Dienst die Option Alle veröffentlichen. Warten Sie, bis die Meldung Erfolgreich veröffentlicht angezeigt wird.
Auslösen einer erfolgreichen Pipelineausführung
Um eine Pipeline auszulösen, klicken Sie auf Trigger in der Symbolleiste und dann auf Trigger Jetzt.
Führen Sie im Fenster Pipeline Run die folgenden Schritte aus:
Geben Sie für den Parameter sourceBlobContainer die Zeichenfolge adftutorial/adfv2branch/input ein.
Geben Sie für den Parameter sinkBlobContainer die Zeichenfolge adftutorial/adfv2branch/output ein.
Geben Sie die E-Mail-Adresse des Empfängers ein.
Klicken Sie auf Fertig stellen.
Überwachen der erfolgreichen Pipelineausführung
Wechseln Sie zum Überwachen der Pipelineausführung im linken Bereich zur Registerkarte Überwachen. Sie sehen die Pipelineausführung, die Sie manuell ausgelöst haben. Aktualisieren Sie die Liste mithilfe der Schaltfläche Aktualisieren.
Klicken Sie zum Anzeigen vonAktivitätsausführungen, die mit dieser Pipelineausführung verknüpft sind, in der Spalte Aktionen auf den ersten Link. Sie können zur vorherigen Ansicht zurückkehren, indem Sie oben auf Pipelines klicken. Aktualisieren Sie die Liste mithilfe der Schaltfläche Aktualisieren.
Auslösen einer nicht erfolgreichen Pipelineausführung
Wechseln Sie im linken Bereich zur Registerkarte Bearbeiten.
Um eine Pipeline auszulösen, klicken Sie auf Trigger in der Symbolleiste und dann auf Trigger Jetzt.
Führen Sie im Fenster Pipeline Run die folgenden Schritte aus:
- Geben Sie für den Parameter sourceBlobContainer die Zeichenfolge adftutorial/dummy/input ein. Stellen Sie sicher, dass der Ordner „dummy“ im Container „adftutorial“ nicht vorhanden ist.
- Geben Sie adftutorial/dummy/output für den sinkBlobContainer Parameter ein.
- Geben Sie die E-Mail-Adresse des Empfängers ein.
- Klicken Sie auf Fertig stellen.
Überwachen der nicht erfolgreichen Pipelineausführung
Wechseln Sie zum Überwachen der Pipelineausführung im linken Bereich zur Registerkarte Überwachen. Sie sehen die Pipelineausführung, die Sie manuell ausgelöst haben. Aktualisieren Sie die Liste mithilfe der Schaltfläche Aktualisieren.
Klicken Sie für die Pipelineausführung auf den Link Fehler, um Fehlerdetails anzuzeigen.
Klicken Sie zum Anzeigen vonAktivitätsausführungen, die mit dieser Pipelineausführung verknüpft sind, in der Spalte Aktionen auf den ersten Link. Aktualisieren Sie die Liste mithilfe der Schaltfläche Aktualisieren. Beachten Sie, dass der Kopiervorgang in der Pipeline fehlgeschlagen ist. Die Webaktivität hat erfolgreich eine Fehler-E-Mail an den angegebenen Empfänger gesendet.
Klicken Sie in der Spalte Aktionen auf den Link Fehler, um Fehlerdetails anzuzeigen.
Zugehöriger Inhalt
In diesem Tutorial haben Sie die folgenden Schritte ausgeführt:
- Erstellen einer Data Factory.
- Erstellen Sie einen Azure Storage verknüpften Dienst.
- Erstellen eines Azure Blob-Datasets
- Erstellen einer Pipeline, die eine Kopieraktivität und eine Webaktivität enthält.
- Versenden der Ergebnisse von Aktivitäten an nachfolgende Aktivitäten.
- Nutzen Sie die Parameterübergabe und die Systemvariablen.
- Starten einer Pipelineausführung.
- Überwachen der Pipeline- und Aktivitätsausführungen.
Weitere Informationen zu Azure Data Factory finden Sie im Abschnitt "Konzepte".