CommencerCommencez gratuitement

É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>
Voir le cours

Instructions de l’exercice

  • Configurez le Dag pour vous envoyer un e‑mail lorsqu’il se termine sans erreur.

  • Renseignez l’attribut subject pour 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()
Modifier et exécuter le code