Envío de un correo electrónico con una canalización de Azure Data Factory o Azure Synapse

SE APLICA A:Azure Data Factory Azure Synapse Analytics

Sugerencia

Pruebe Data Factory en Microsoft Fabric, una solución de análisis todo en uno para empresas. Microsoft Fabric abarca todo, desde el movimiento de datos hasta la ciencia de datos, el análisis en tiempo real, la inteligencia empresarial y los informes. Obtenga información sobre cómo iniciar una nueva evaluación gratuita.

A menudo es necesario enviar notificaciones durante la ejecución de una canalización o después de esta. La notificación proporciona un envío proactivo de alertas y reduce la necesidad de supervisión reactiva para detectar problemas.  En este artículo se muestra cómo configurar notificaciones por correo electrónico desde una canalización de Azure Data Factory o Azure Synapse. 

Requisitos previos

Creación del flujo de trabajo de correo electrónico en la aplicación lógica

Creación de un flujo de trabajo estándar de aplicación lógica denominado SendEmailFromPipeline. Agregue el desencadenador de solicitud denominado When an HTTP request is received y agregue la acción de Office 365 Outlook denominada Send an email (V2).

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

En el desencadenador de solicitud, proporcione este JSON para la propiedad Request Body JSON Schema:

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

El desencadenador de solicitud del diseñador de flujo de trabajo debe tener este aspecto:

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

Para la acción Enviar un correo electrónico (V2), personalice el formato del correo electrónico con las propiedades del esquema JSON del cuerpo de la solicitud.

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

Guarde el flujo de trabajo. Vaya a la página Información general del flujo de trabajo. Tome nota de la dirección URL del flujo de trabajo, que se resalta en la imagen siguiente:

Shows the workflow Overview page with the Workflow URL highlighted.

Nota:

Para buscar la dirección URL del flujo de trabajo, debe ir al propio flujo de trabajo, no solo a la aplicación lógica que lo contiene. En la página de flujos de trabajo de la instancia de la aplicación lógica, seleccione el flujo de trabajo y, a continuación, vaya a la página de información general.

Creación de una canalización para desencadenar el flujo de trabajo de la aplicación lógica

Una vez creado el flujo de trabajo de la aplicación lógica para enviar correo electrónico, puede desencadenarlo desde una canalización mediante una actividad web.

  1. Cree una canalización y busque la actividad Web en la categoría General y arrástrela al lienzo de edición.

  2. Seleccione la nueva actividad Web1 y, luego, elija la pestaña Configuración.

    Proporcione la dirección URL del flujo de trabajo de aplicación lógica que creó anteriormente en el campo Dirección URL.

    Especifique el siguiente JSON en Cuerpo.

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

    Use expresiones dinámicas para generar mensajes útiles para eventos en las canalizaciones. Observe que el formato JSON aquí coincide con el formato JSON que definió en la aplicación lógica y también puede personalizarlos según sea necesario.

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

  3. Elija el área en segundo plano del diseñador de canalizaciones para seleccionar la página de propiedades de la canalización, agregue un nuevo parámetro denominado receptor y proporcione una dirección de correo electrónico como su valor predeterminado.

    En este ejemplo, se proporciona el correo electrónico del receptor de un parámetro de canalización que se define arbitrariamente. El valor del receptor se puede tomar de cualquier expresión o incluso de orígenes de datos vinculados.

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

  4. Publique la canalización y desencadénela manualmente para confirmar que el correo electrónico se envía según lo previsto.

    Shows how to manually trigger the pipeline.

Adición de mensajes dinámicos con variables del sistema y expresiones

Puede usar variables del sistema y expresiones para que los mensajes sean dinámicos. Por ejemplo:

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

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

Las expresiones anteriores devolverán los mensajes de error pertinentes de una actividad de copia no realizada, que se pueden redirigir a la actividad web que envía el correo electrónico. Consulte el artículo Propiedades de salida de la actividad de copia para obtener más detalles.

Envío de notificaciones de Microsoft Teams desde una canalización