實作 SmtpNotifier
既然你已經建立了失敗時的回呼,你的團隊主管要求,所有成功的 Dag 執行結果都要透過電子郵件寄送到團隊共用信箱。你查看 Airflow 文件後,決定使用 Airflow 內建的 notifier 架構是最佳做法。
dag 和 task 物件已經匯入,alert_on_failure 回呼函式以及 get_sales_data 和 process_sales_data 這兩個工作都已經為你定義好了。
本練習屬於課程
Python 中的 Apache Airflow 入門
練習說明
- 匯入 SMTP notifier 物件。
- 在 Dag 中加入成功回呼屬性。
- 將通知寄送至 [email protected]。
- 加上主旨。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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()