Airflow 2.5.3:如何查看Bash命令中的宏展开结果?
查看Airflow宏解析结果的方法(v2.5.3)
针对你在任务实例详情里看到的带{{ ds_nodash }}宏的Bash命令,有几种简单方法查看解析后的结果:
查看任务实例日志
只要任务已经执行过(成功、失败都可以),打开任务实例的日志页面,直接搜索"Running command",就能看到实际运行的完整命令,宏已经被替换成具体的日期字符串(比如20240520)。使用UI的Rendered Templates功能
在任务实例详情页,找到Rendered标签(部分版本显示为"Rendered Templates"),点击进入后,会列出该任务所有模板化字段的解析结果,包括Bash命令的最终内容。这个方法不管任务有没有执行,只要任务实例已创建(比如处于调度中状态)就能用。通过Airflow CLI手动验证
如果你想自行测试宏解析,可通过Airflow shell执行代码:- 先启动Airflow shell:
airflow shell - 在shell中输入以下代码(替换成你的DAG ID和任务ID):
from airflow.models import DAG, TaskInstance import pendulum dag = DAG.get_dag("your_dag_id") task = dag.get_task("your_task_id") # 替换成你要测试的执行日期 execution_date = pendulum.parse("2024-05-20") ti = TaskInstance(task, execution_date=execution_date) # 渲染你的Bash命令模板 rendered_cmd = ti.render_template("python COMMAND.py --sdate {{ ds_nodash }} --edate {{ ds_nodash }}") print(rendered_cmd)
执行后就能直接看到解析后的命令。
- 先启动Airflow shell:
内容的提问来源于stack exchange,提问作者extremeaxe5
相关产品推荐
相关产品推荐

