Escritura con Jinja
A medida que has ido trabajando más con Airflow, has añadido varios callbacks de notificación, pero te das cuenta de que recibes los mismos mensajes en tu bandeja de entrada cada vez. Es difícil encontrar un mensaje cuando el asunto siempre es el mismo. Tras leer sobre el soporte de Jinja en Airflow, ves que puedes añadir información identificativa para asegurarte de que tus Dags envían un informe por cada ejecución diaria. Has decidido empezar actualizando el Dag sales_update para que te envíe un correo con un asunto con plantilla cuando termine correctamente.
Todas las importaciones necesarias de Airflow ya están disponibles, y las tareas pull_sales_data y generate_sales_report ya están definidas.
Este ejercicio forma parte del curso
Introducción a Apache Airflow en Python
Instrucciones del ejercicio
Configura el Dag para que te envíe un correo electrónico cuando finalice sin errores.
Establece el atributo
subjectpara el correo de notificación.Usa una plantilla Jinja para incluir la fecha de ejecución en la línea de asunto:
Sales update successfully processed for YYYY-MM-DD
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Add a notification when successful, including date in the subject
@dag(start_date=datetime(2026,4,30),
____=SmtpNotifier(
from_email="[email protected]",
to="[email protected]",
____="Sales update successfully processed for {{ ____ }}"
))
def sales_update():
pull_sales_data() >> generate_sales_report()
sales_update()