Python 中的 Apache Airflow 入門
Mike Metzger
Data Engineer

{{ ... }} 表示樣板代入
logical_date:Dag 執行發生時間ds:logical_date 的 YYYY-MM-DD 格式logical_date.year、logical_date.month、logical_date.day:存取日期組件params:Dag 執行的執行階段參數macros.ds_add:進行日期運算@dag(dag_id=`sales_etl`, on_failure_callback=SmtpNotifier( to='[email protected]', from_email='[email protected]',subject='sales_etl on {{ logical_date }} has failed!' ) )
ds 前一天(logical_date,格式為 YYYY-MM-DD)的檔案macros.ds_addfilewatcher = FileSensor(
task_id="wait_for_files",
filepath="/data/{{ macros.ds_add(ds, -1) }}/input.csv",
...
)
ds 為 2026-04-30,檔案路徑為 /data/2026-04-29/input.csv
Python 中的 Apache Airflow 入門