Inviare un messaggio di posta elettronica con una pipeline di Azure Data Factory o Azure Synapse

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi completa per le aziende. Microsoft Fabric copre tutti gli elementi, dallo spostamento dei dati all'analisi scientifica dei dati, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Scopri come avviare gratuitamente una nuova versione di valutazione .

Spesso è necessario inviare notifiche durante o dopo l'esecuzione di una pipeline. La notifica fornisce avvisi proattivi e riduce la necessità di un monitoraggio reattivo per individuare i problemi.  Questo articolo illustra come configurare le notifiche tramite posta elettronica da una pipeline di Azure Data Factory o Azure Synapse. 

Prerequisiti

  • Sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
  • Flusso di lavoro standard dell'app per la logica. Per attivare l'invio di un messaggio di posta elettronica dalla pipeline, usare App per la logica di Azure per definire il flusso di lavoro. Per informazioni dettagliate sulla creazione di un flusso di lavoro di app per la logica Standard, vedere Creare un flusso di lavoro di app per la logica Standard di esempio.

Creare il flusso di lavoro di posta elettronica nell'app per la logica

Creare un flusso di lavoro dell'app per la logica Standard denominato SendEmailFromPipeline. Aggiungere il trigger richiesta denominato When an HTTP request is receivede aggiungere l'azione di Office 365 Outlook denominata Send an email (V2).

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

In Trigger di richiesta specificare questo codice JSON per la Request Body JSON Schema proprietà :

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

Il trigger Richiesta nella finestra di progettazione del flusso di lavoro dovrebbe essere simile al seguente:

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

Per l'azione Invia un messaggio di posta elettronica (V2), personalizzare la modalità di formattazione del messaggio di posta elettronica usando le proprietà dello schema JSON del corpo della richiesta:

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

Salvare il flusso di lavoro. Passare alla pagina Panoramica per il flusso di lavoro. Prendere nota dell'URL del flusso di lavoro, evidenziato nell'immagine seguente:

Shows the workflow Overview page with the Workflow URL highlighted.

Nota

Per trovare l'URL del flusso di lavoro, è necessario passare al flusso di lavoro stesso, non solo all'app per la logica che lo contiene. Nella pagina Flussi di lavoro dell'istanza dell'app per la logica selezionare il flusso di lavoro e quindi passare alla relativa pagina Panoramica.

Creare una pipeline per attivare il flusso di lavoro dell'app per la logica

Dopo aver creato il flusso di lavoro dell'app per la logica per inviare messaggi di posta elettronica, è possibile attivarlo da una pipeline usando un'attività Web .

  1. Creare una nuova pipeline e trovare l'attività Web nella categoria Generale per trascinarla nell'area di disegno di modifica.

  2. Selezionare la nuova attività Web1 e quindi selezionare la scheda Impostazioni.

    Specificare l'URL del flusso di lavoro dell'app per la logica creato in precedenza nel campo URL .

    Specificare il codice JSON seguente per il corpo:

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

    Usare espressioni dinamiche per generare messaggi utili per gli eventi nelle pipeline. Si noti che il formato JSON qui corrisponde al formato JSON definito nell'app per la logica ed è anche possibile personalizzare questi file in base alle esigenze.

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

  3. Selezionare l'area di sfondo della finestra di progettazione pipeline per selezionare la pagina delle proprietà della pipeline e aggiungere un nuovo parametro denominato ricevitore, specificando un indirizzo di posta elettronica come valore predefinito.

    In questo esempio viene fornito il messaggio di posta elettronica del ricevitore da un parametro della pipeline definito in modo arbitrario. Il valore del ricevitore può essere ricavato da qualsiasi espressione o anche da origini dati collegate.

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

  4. Pubblicare la pipeline e quindi attivarla manualmente per confermare che il messaggio di posta elettronica viene inviato come previsto.

    Shows how to manually trigger the pipeline.

Aggiungere messaggi dinamici con variabili di sistema ed espressioni

È possibile usare le variabili di sistema e le espressioni per rendere dinamici i messaggi. Ad esempio:

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

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

Le espressioni precedenti restituiranno i messaggi di errore pertinenti da un errore attività Copy, che può essere reindirizzato all'attività Web che invia il messaggio di posta elettronica. Per altri dettagli, vedere l'articolo attività Copy proprietà di output.

Come inviare notifiche di Teams da una pipeline