開始使用免費開始

實作 SmtpNotifier

既然你已經建立了失敗時的回呼,你的團隊主管要求,所有成功的 Dag 執行結果都要透過電子郵件寄送到團隊共用信箱。你查看 Airflow 文件後,決定使用 Airflow 內建的 notifier 架構是最佳做法。

dagtask 物件已經匯入,alert_on_failure 回呼函式以及 get_sales_dataprocess_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()
編輯並執行程式碼