我正在尝试在 MWAA 上的 dag 内使用本地模块。
文件夹结构如下:
.
├── __init__.py
├── dags
│ ├── __init__.py
│ └── my_dag
│ ├── __init__.py
│ └── dag.py
│ └── utils
│ ├── __init__.py
│ └── file.py
│ └── secrets.py
│ └── date.py
我尝试使用以下函数./dags/utils/secrets
通过像这样导入它们:
from dags.utils.secrets import get_secret
在本地,我已经能够通过将环境变量 PYTHONPATH 设置为来使其工作usr/local/airflow
这是最好的方法吗?如果不是,我怎样才能让它在 MWAA 上工作?
谢谢你,
在本地,我已经能够通过将环境变量 PYTHONPATH 设置为 usr/local/airflow 来使其工作
这是最好的方法吗?如果不是,我怎样才能让它在 MWAA 上工作?
将 Airflow 部署到 MWAA 环境时,您没有显式设置PYTHONPATH
环境变量。
我尝试通过导入来使用 ./dags/utils/secrets 中的函数,如下所示:
从 dags.utils.secrets 导入 get_secret
调整Pythonimport
与 MWAA 环境的 DAG 文件夹相关的语句。例如,如果 DAGs 文件夹是s3://<bucket>/dags
,那么导入语句将是:
from utils.secrets import get_secret
DAG 文件夹示例:
s3://<bucket>/dags/__init__.py
s3://<bucket>/dags/my_dag/__init__.py
s3://<bucket>/dags/my_dag/dag.py
s3://<bucket>/dags/utils/__init__.py
s3://<bucket>/dags/utils/file.py
s3://<bucket>/dags/utils/secrets.py
s3://<bucket>/dags/utils/date.py
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)