Implementar un SmtpNotifier
Ahora que ya has creado correctamente un callback para fallos, tu responsable te ha pedido que todos los Dag que terminen con éxito envíen un correo a un alias del equipo. Tras revisar la documentación de Airflow, decides que usar el framework de notificaciones integrado de Airflow es la mejor opción.
Los objetos dag y task ya están importados; la función de callback alert_on_failure y las tareas get_sales_data y process_sales_data ya están definidas para ti.
Este ejercicio forma parte del curso
Introducción a Apache Airflow en Python
Instrucciones del ejercicio
- Importa el objeto de notificación SMTP.
- Añade un atributo de callback de éxito al Dag.
- Envía la notificación a [email protected].
- Incluye un asunto.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Import the notifier
from airflow.providers.smtp.notifications.smtp import ____
# Add a success callback notifier
@dag(dag_id='sales_etl_dag',
on_failure_callback=alert_on_failure,
____=SmtpNotifier(
to="____",
from_email="[email protected]",
____="sales_etl_dag run succeeded!"
))
def sales_etl_dag():
get_sales_data() >> process_sales_data()
sales_etl_dag()