Envoyer un e-mail avec un pipeline Azure Data Factory ou Azure Synapse

S’APPLIQUE À : Azure Data Factory Azure Synapse Analytics

Conseil

Essayez Data Factory dans Microsoft Fabric, une solution d’analyse tout-en-un pour les entreprises. Microsoft Fabric couvre tous les aspects, du déplacement des données à la science des données, en passant par l’analyse en temps réel, l’aide à la décision et la création de rapports. Découvrez comment démarrer un nouvel essai gratuitement !

Il est souvent nécessaire d’envoyer des notifications pendant ou après l’exécution d’un pipeline. La notification fournit des alertes proactives et réduit le besoin d’une supervision réactive pour découvrir les problèmes.  Cet article explique comment configurer des notifications par e-mail à partir d’un pipeline Azure Data Factory ou Azure Synapse. 

Prérequis

Créer le workflow d’e-mail dans votre application logique

Créez un workflow d’application logique Standard nommé SendEmailFromPipeline. Ajoutez le déclencheur Requête nommé When an HTTP request is received, puis ajoutez l’action Outlook Office 365 nommée Send an email (V2).

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

Pour le déclencheur Requête, fournissez le code JSON suivant pour la propriété Request Body JSON Schema :

{
    "properties": {
        "dataFactoryName": {
            "type": "string"
        },
        "message": {
            "type": "string"
        },
        "pipelineName": {
            "type": "string"
        },
        "receiver": {
            "type": "string"
        }
    },
    "type": "object"
}

Le déclencheur Requête dans le concepteur de workflow doit ressembler à ce qui suit :

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

Pour l’action Envoyer un e-mail (V2), personnalisez la mise en forme de l’e-mail à l’aide des propriétés issues du schéma JSON du corps de la demande :

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

Enregistrez le workflow. Accédez à la page de présentation du flux de travail. Notez l’URL du workflow, mise en évidence dans l’image ci-dessous :

Shows the workflow Overview page with the Workflow URL highlighted.

Remarque

Pour rechercher l’URL du workflow, vous devez accéder au workflow lui-même, et pas uniquement à l’application logique qui le contient. Dans la page Workflow de votre instance d’application logique, choisissez le workflow, puis accédez à sa page de Vue d’ensemble.

Créer un pipeline pour déclencher le workflow de votre application logique

Après la création du workflow d’application logique pour envoyer un e-mail, vous pouvez le déclencher à partir d’un pipeline en utilisant une activité Web.

  1. Créez un pipeline puis recherchez l’activité Web sous la catégorie Général pour la faire glisser sur le canevas de modification.

  2. Sélectionnez la nouvelle activité Web1, puis sélectionnez l’onglet Paramètres.

    Fournissez l’URL du workflow d’application logique que vous avez créée dans le champ URL.

    Entrez le code JSON suivant dans le corps :

       {
        "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}"
       }
    

    Utilisez des expressions dynamiques afin de générer des messages utiles pour les événements de vos pipelines. Notez que le format JSON ici correspond à celui que vous avez défini dans l’application logique et que vous pouvez également le personnaliser en fonction des besoins.

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

  3. Sélectionnez la zone d’arrière-plan du concepteur de pipeline pour sélectionner la page des propriétés du pipeline et ajouter un nouveau paramètre appelé « Receiver » (destinataire), en fournissant une adresse e-mail comme valeur par défaut.

    Dans cet exemple, nous fournissons l’e-mail du destinataire à partir d’un paramètre de pipeline que nous pouvons définir librement. La valeur du paramètre Receiver peut être extraite d’une expression, et même être associée à des sources de données.

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

  4. Publiez votre pipeline, puis déclenchez-le manuellement pour être sûr que l’e-mail est envoyé comme attendu.

    Shows how to manually trigger the pipeline.

Ajouter des messages dynamiques avec des variables système et des expressions

Vous pouvez utiliser des variables système et des expressions pour rendre vos messages dynamiques. Par exemple :

  • @activity("CopyData").output.errors[0].Message

  • @activity("DataFlow").error.Message

Les expressions ci-dessus retourneront des messages d’erreur en cas d’échec de l’activité Copy. Vous pouvez alors être redirigé vers votre activité web qui envoie l’e-mail. Pour plus d’informations, consultez l’article Propriétés de sortie de l’activité Copy.

Guide pratique pour envoyer des notifications Microsoft Teams à partir d’un pipeline