Implementarea unui SmtpNotifier
Acum că ai creat cu succes un callback de eșec, team lead-ul tău a solicitat ca toate rulările reușite ale DAG-ului să fie trimise prin email la un alias al echipei. După ce ai consultat documentația Airflow, decizi că framework-ul integrat de notificări al Airflow este cea mai bună opțiune.
Obiectele dag și task sunt deja importate, funcția de callback alert_on_failure și task-urile get_sales_data și process_sales_data sunt deja definite pentru tine.
Acest exercițiu face parte din cursul
Introducere în Apache Airflow în Python
Instrucțiuni pentru exercițiu
- Importă obiectul notificator SMTP.
- Adaugă un atribut de callback pentru succes în DAG.
- Trimite notificarea la [email protected].
- Include un subiect.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()