airflow dags list命令截断dag_id仅显示前30个字符该如何解决?
解决Airflow
airflow dags list 命令dag_id截断问题 根因说明
Airflow CLI默认开启终端表格自适应对齐逻辑,dag_id列默认限制最大展示30字符,超出部分自动截断,该默认参数未被纳入官方公开常用配置列表。
可用解决方案
方案1:切换输出格式(无侵入,优先推荐)
在命令后指定非表格类输出格式,即可直接获取完整的dag_id内容:
- JSON格式输出:
airflow dags list -o json - YAML格式输出:
airflow dags list -o yaml
如果需要保留表格展示形式,可配合jq工具自定义解析JSON输出调整列宽,示例命令如下:
airflow dags list -o json | jq -r '["dag_id","文件路径","负责人","是否暂停"], (.[] | [.dag_id,.fileloc,.owner,.is_paused]) | @tsv' | column -ts $'\t'
方案2:调整全局CLI表格宽度配置
如果需要保留默认的表格输出样式,可通过设置环境变量修改全局表格最大宽度:
# 可根据自身dag_id最大长度调整数值,此处示例设为200 export AIRFLOW__CLI__TABLE_WIDTH=200
配置完成后重新执行airflow dags list即可展示完整dag_id。如果需要永久生效,可将该环境变量写入Airflow运行用户的.bashrc/.zshrc文件,或Airflow服务的环境变量配置文件中。
方案3:仅输出dag_id列
如果仅需要查询完整dag_id值,可指定单列输出,不会触发截断逻辑:airflow dags list -o plain --columns dag_id
内容的提问来源于stack exchange,提问作者Suryaprakash Pisay
相关产品推荐
相关产品推荐

