Teilen über


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

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.

Shows the logic app workflow designer with the Request trigger and Send an email (V2) action.

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:

Shows the workflow designer for the Request trigger with the Request Body JSON Schema field populated.

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:

Shows the workflow designer for the Send an email (V2) action.

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:

Shows the workflow Overview page with the Workflow URL highlighted.

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.

  1. 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.

  2. 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.

    Shows a pipeline with a Web activity configured with the logic app workflow URL and JSON message body.

  3. 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.

    Shows the configuration of the receiver parameter in the pipeline designer.

  4. 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.

    Shows how to manually trigger the pipeline.

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.

Senden von Teams-Benachrichtigungen über eine Pipeline