使用 Jinja 撰寫
隨著你更常使用 Airflow,你加入了各種通知用的 callback,但發現收件匣裡每次都收到相同內容的訊息。當主旨永遠一樣時,很難找到特定那一封。讀到 Airflow 對 Jinja 的支援後,你想到可以在主旨加入具辨識性的資訊,確保你的 Dags 會為每日的執行各寄一份報告。你決定先從更新 sales_update 這個 Dag 開始,讓它在成功完成時,寄出主旨使用樣板的電子郵件給你。
所有必要的 Airflow 匯入都已可用,pull_sales_data 和 generate_sales_report 這兩個工作也都已定義。
本練習屬於課程
Python 中的 Apache Airflow 入門
練習說明
設定這個 Dag 在沒有錯誤地完成時寄送電子郵件給你。
設定通知電子郵件的
subject屬性。使用 Jinja 樣板把執行日期加入主旨中:
Sales update successfully processed for YYYY-MM-DD
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Add a notification when successful, including date in the subject
@dag(start_date=datetime(2026,4,30),
____=SmtpNotifier(
from_email="[email protected]",
to="[email protected]",
____="Sales update successfully processed for {{ ____ }}"
))
def sales_update():
pull_sales_data() >> generate_sales_report()
sales_update()