Senden einer E-Mail mit einer Azure Data Factory- oder Azure Synapse-Pipeline
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!
Es ist häufig erforderlich, während oder nach der Ausführung einer Pipeline Benachrichtigungen zu senden. Benachrichtigungen ermöglichen proaktive Warnungen und verringern die Notwendigkeit einer reaktiven Überwachung zur Ermittlung von Problemen. In diesem Artikel erfahren Sie, wie Sie E-Mail-Benachrichtigungen von einer Azure Data Factory- oder Azure Synapse-Pipeline konfigurieren.
Voraussetzungen
- Azure-Abonnement. Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
- Standard-Logik-App-Workflow. Um das Senden einer E-Mail aus der Pipeline auszulösen, verwenden Sie Azure Logic Apps, um den Workflow zu definieren. Ausführliche Informationen zum Erstellen eines Standard-Logik-App-Workflows finden Sie unter Erstellen eines Beispiels für einen Standard-Logik-App-Workflow.
Erstellen des E-Mail-Workflows in Ihrer Logik-App
Erstellen Sie einen Logik-App-Workflow mit Namen SendEmailFromPipeline
. Fügen Sie den Anforderungstrigger mit dem Namen When an HTTP request is received
hinzu, und fügen Sie die Office 365 Outlook-Aktion mit dem Namen Send an email (V2)
hinzu.
Geben Sie im Anforderungstrigger diesen JSON-Code für die Request Body JSON Schema
-Eigenschaft an:
{
"properties": {
"dataFactoryName": {
"type": "string"
},
"message": {
"type": "string"
},
"pipelineName": {
"type": "string"
},
"receiver": {
"type": "string"
}
},
"type": "object"
}
Der Anforderungstrigger im Workflow-Designer sollte wie folgt aussehen:
Passen Sie für die Aktion E-Mail senden (V2) die Formatierungseinstellungen der E-Mail mithilfe der Eigenschaften aus dem JSON-Anforderungstextschema nach Bedarf an:
Speichern Sie den Workflow. Navigieren Sie zur Übersichtsseite für den Workflow. Notieren Sie sich die Workflow-URL, die in der Abbildung unten hervorgehoben ist:
Hinweis
Um die Workflow-URL zu suchen, müssen Sie zum Workflow selbst browsen, und nicht nur zur Logik-App, die ihn enthält. Wählen Sie auf der Seite „Workflows“ Ihrer Logik-App-Instanz den Workflow aus, und navigieren Sie dann zur Übersicht.
Erstellen einer Pipeline zum Auslösen Ihres Logik-App-Workflows
Nachdem Sie den Logik-App-Workflow zum Senden von E-Mails erstellt haben, können Sie ihn über eine Pipeline mithilfe einer Aktivität vom Typ Web auslösen.
Erstellen Sie eine neue Pipeline, und suchen Sie in der Kategorie Allgemein nach der Aktivität vom Typ Web, um sie in den Bearbeitungsbereich zu ziehen.
Wählen Sie die Aktivität Web1 und anschließend die Registerkarte Einstellungen aus.
Geben Sie im Feld URL die URL aus dem Logik-App-Workflow an, den Sie zuvor erstellt haben.
Geben Sie als Textkörper den folgenden JSON-Code ein:
{ "message" : "This is a custom dynamic message from your pipeline with run ID @{pipeline().RunId}.", "dataFactoryName" : "@{pipeline().DataFactory}", "pipelineName" : "@{pipeline().Pipeline}", "receiver" : "@{pipeline().parameters.receiver}" }
Verwenden Sie dynamische Ausdrücke, um nützliche Meldungen für Ereignisse in Ihren Pipelines zu generieren. Beachten Sie, dass das JSON-Format hier dem JSON-Format entspricht, das Sie in der Logik-App definiert haben. Sie können dieses auch nach Bedarf anpassen.
Wählen Sie den Hintergrundbereich des Pipeline-Designers aus, um die Eigenschaftenseite der Pipeline auszuwählen und einen neuen Parameter namens „receiver“ hinzuzufügen. Geben Sie dabei eine E-Mail-Adresse als Standardwert an.
In diesem Beispiel wird die E-Mail-Adresse des Empfängers auf der Grundlage eines Pipelineparameters angegeben, den Sie beliebig definieren. Der Wert für „receiver“ kann aus einem beliebigen Ausdruck oder sogar aus verknüpften Datenquellen übernommen werden.
Veröffentlichen Sie Ihre Pipeline, und lösen Sie sie dann manuell aus, um zu überprüfen, ob die E-Mail wie erwartet gesendet wird.
Hinzufügen dynamischer Nachrichten mit Systemvariablen und Ausdrücken
Mithilfe von Systemvariablen und Ausdrücken können Sie Ihre Nachrichten dynamisch gestalten. Beispiel:
@activity("CopyData").output.errors[0].Message
@activity("DataFlow").error.Message
Die oben genannten Ausdrücke geben die relevanten Fehlermeldungen zu einem Fehler der Copy-Aktivität zurück, die dann an Ihre Webaktivität umgeleitet werden können, die die E-Mail sendet. Ausführlichere Informationen finden Sie im Artikel Ausgabeeigenschaften der Copy-Aktivität.