Écrire avec Jinja
À force d’utiliser Airflow, vous avez ajouté différents rappels de notification, mais vous constatez que vous recevez chaque fois les mêmes messages dans votre boîte de réception. Difficile de retrouver une information quand l’objet est toujours identique. Après avoir lu la documentation sur la prise en charge de Jinja par Airflow, vous réalisez que vous pouvez ajouter des informations d’identification pour que vos Dags envoient un rapport pour chaque exécution quotidienne. Vous avez décidé de commencer par mettre à jour le Dag sales_update afin qu’il vous envoie un e‑mail avec un objet basé sur un modèle lorsqu’il se termine avec succès.
Tous les imports Airflow nécessaires sont déjà disponibles, et les tâches pull_sales_data et generate_sales_report sont déjà définies.
Cet exercice fait partie du cours
<cours>Introduction à Apache Airflow en Python</cours>Instructions de l’exercice
Configurez le Dag pour vous envoyer un e‑mail lorsqu’il se termine sans erreur.
Renseignez l’attribut
subjectpour l’e‑mail de notification.Utilisez un modèle Jinja pour inclure la date d’exécution dans l’objet :
Sales update successfully processed for YYYY-MM-DD
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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()