Airflow中prev_ds等弃用模板变量的直接替代变量咨询
Airflow
prev_ds 弃用后的直接替代方案 存在无需手动做日期计算、可直接返回前序调度日期的内置变量,和原prev_ds功能完全等价,该组变量从Airflow 2.2版本开始正式内置支持,对应替代用法如下:
- 原
prev_ds(格式为YYYY-MM-DD的前序调度日期):直接使用模板变量{{ prev_data_interval_start | ds }} - 原
prev_ds_nodash(格式为YYYYMMDD的无横杠前序调度日期):直接使用模板变量{{ prev_data_interval_start | ds_nodash }}
对于按固定周期调度的常规DAG,prev_data_interval_start 本身就是内置的上一调度周期数据区间开始时间,搭配Airflow内置的ds/ds_nodash过滤器输出的日期值,和旧版prev_ds/prev_ds_nodash的返回结果完全一致,不需要额外编写日期运算逻辑。
同系列其他即将弃用的相邻调度日期变量也有对应直接替代:
- 原
next_ds(格式为YYYY-MM-DD的后序调度日期):{{ next_data_interval_end | ds }} - 原
next_ds_nodash(格式为YYYYMMDD的无横杠后序调度日期):{{ next_data_interval_end | ds_nodash }}
注意:上述变量的生效逻辑和旧版相邻调度日期变量完全一致,仅当DAG配置了明确的有效调度间隔(即schedule参数不为
None/@once)时,才会返回符合预期的日期值。
内容的提问来源于stack exchange,提问作者Keshav Potluri
相关产品推荐
相关产品推荐

