You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MWAA中DAG加载自定义配置文件失败问题求助

MWAA加载配置文件失败的原因与解决办法

问题根源

  • 导入utils.s3_manager正常是因为Python的sys.path默认包含了MWAA挂载的/usr/local/airflow/dags目录,模块查找会遍历这个路径,所以能定位到utils目录下的模块。
  • 但用相对路径./config/{dag_name}/config_dtype.json加载文件时,MWAA执行DAG的当前工作目录是/usr/local/airflow,而非dags子目录,实际查找路径变成了/usr/local/airflow/config/...,但你的配置文件实际存放在/usr/local/airflow/dags/config/...,因此触发文件不存在错误。

解决办法

最稳妥的方式是基于当前DAG文件的实际位置构造配置路径,避免依赖工作目录的不确定性:

import os
from pathlib import Path
from omegaconf import OmegaConf

# 获取当前DAG脚本所在的目录
dag_file_dir = Path(__file__).parent
# 拼接配置文件的完整路径
conf_path = dag_file_dir / "config" / dag_name / "config_dtype.json"
# 加载配置文件
conf_device_info = OmegaConf.load(conf_path)

补充说明

  • Path(__file__)可以精准获取当前DAG脚本的绝对路径,无论工作目录如何变化,都能定位到同目录下的config文件夹。
  • 也可以直接写死绝对路径/usr/local/airflow/dags/config/{dag_name}/config_dtype.json,但硬编码路径会降低代码可移植性,不推荐使用。

内容的提问来源于stack exchange,提问作者Hoon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 11:55:46