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
- Suscripción de Azure. Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
- Flujo de trabajo estándar de aplicación lógica. Para desencadenar el envío de un correo electrónico de la canalización, defina el flujo de trabajo con Azure Logic Apps. Para más información sobre cómo crear un flujo de trabajo estándar de aplicación lógica, consulte Creación de un flujo de trabajo estándar de aplicación lógica de ejemplo.
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)
.
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:
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.
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:
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.
Cree una canalización y busque la actividad Web en la categoría General y arrástrela al lienzo de edición.
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.
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.
Publique la canalización y desencadénela manualmente para confirmar que el correo electrónico se envía según lo previsto.
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.
Contenido relacionado
Envío de notificaciones de Microsoft Teams desde una canalización