AWS MWAA(托管 Apache Airflow)将 dags 中使用的 python 代码放在哪里?
AWS MWAA (Managed Apache Airflow) where to put the python code used in the dags?
您将实际代码放在哪里? dags 必须很薄,这假设当任务开始时 运行 它将执行导入,并且 运行 一些 python 代码。
当我们使用独立气流时,我可以添加到 PYTHON_PATH 我的项目根目录并从那里进行导入,但在 AWS 托管气流中我找不到任何线索。
将您的 DAG 放入 S3。初始化 MWAA 环境后,您将确定包含您的代码的 S3 存储桶。
例如,创建一个存储桶 <my-dag-bucket>
并将您的 DAG 放入子文件夹 dags
s3://<my-dag-bucket>/dags/
还要确保在需求文件中定义所有 python 依赖项,并将其也放在同一个存储桶中:
s3://<my-dag-bucket>/requirements.txt
最后,如果您需要提供自己的模块,请将它们压缩并将 zip 文件也放入存储桶中:
s3://<my-dag-bucket>/plugins.zip
见https://docs.aws.amazon.com/mwaa/latest/userguide/get-started.html
您将实际代码放在哪里? dags 必须很薄,这假设当任务开始时 运行 它将执行导入,并且 运行 一些 python 代码。
当我们使用独立气流时,我可以添加到 PYTHON_PATH 我的项目根目录并从那里进行导入,但在 AWS 托管气流中我找不到任何线索。
将您的 DAG 放入 S3。初始化 MWAA 环境后,您将确定包含您的代码的 S3 存储桶。
例如,创建一个存储桶 <my-dag-bucket>
并将您的 DAG 放入子文件夹 dags
s3://<my-dag-bucket>/dags/
还要确保在需求文件中定义所有 python 依赖项,并将其也放在同一个存储桶中:
s3://<my-dag-bucket>/requirements.txt
最后,如果您需要提供自己的模块,请将它们压缩并将 zip 文件也放入存储桶中:
s3://<my-dag-bucket>/plugins.zip
见https://docs.aws.amazon.com/mwaa/latest/userguide/get-started.html