在 MWAA 中设置 PYTHONPATH

2024-04-02

我正在尝试在 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(使用前将#替换为@)

在 MWAA 中设置 PYTHONPATH 的相关文章

随机推荐