我试图在MWAA上的进程中使用本地模块。
文件夹结构如下所示:
.
├── __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上工作?
谢谢,
发布于 2022-03-08 05:08:23
在本地,通过将环境变量PYTHONPATH设置为usr/
/局部/气流,我可以使它工作。
这是最好的方法吗?如果不是,我如何使它在MWAA上工作?
当将气流部署到MWAA环境时,您不会显式地设置PYTHONPATH环境变量。
我尝试使用来自./dags/utils/机密的函数,方法是导入它们如下:
从dags.utils.secrets导入get_secret
相对于MWAA环境的DAGs文件夹调整Python语句。例如,如果DAGs文件夹是s3://<bucket>/dags,那么导入语句将是:
from utils.secrets import get_secret示例DAGs文件夹:
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.pyhttps://stackoverflow.com/questions/71312432
复制相似问题