Implementare un SmtpNotifier
Ora che hai creato con successo un callback per i fallimenti, il tuo team lead ha chiesto che tutte le esecuzioni del Dag andate a buon fine vengano inviate via email a una mailing list del team. Dopo aver consultato la documentazione di Airflow, decidi che usare il framework di notifier integrato in Airflow è l'opzione migliore.
Gli oggetti dag e task sono già importati, la funzione di callback alert_on_failure e i task get_sales_data e process_sales_data sono già definiti per te.
Questo esercizio fa parte del corso
Introduzione ad Apache Airflow in Python
Istruzioni dell'esercizio
- Importa l'oggetto notifier SMTP.
- Aggiungi un attributo di callback per il successo al Dag.
- Invia la notifica a [email protected].
- Includi un oggetto (subject).
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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()