CommencerCommencez gratuitement

Mettre en œuvre un SmtpNotifier

Maintenant que vous avez créé avec succès un rappel en cas d’échec, votre responsable demande que toutes les exécutions de Dag réussies soient envoyées par e-mail à un alias d’équipe. Après avoir consulté la documentation d’Airflow, vous décidez que le framework de notification intégré d’Airflow est la meilleure option.

Les objets dag et task sont déjà importés, la fonction de rappel alert_on_failure ainsi que les tâches get_sales_data et process_sales_data sont déjà définies pour vous.

Cet exercice fait partie du cours

<cours>Introduction à Apache Airflow en Python</cours>
Voir le cours

Instructions de l’exercice

  • Importez l’objet de notification SMTP.
  • Ajoutez un attribut de rappel de réussite au Dag.
  • Envoyez la notification à [email protected].
  • Ajoutez un objet (subject).

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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()
Modifier et exécuter le code