MWAA环境和DAGS无法找到airflow.providers.amazon.aws.operators。

0

【以下的问题经过翻译处理】 我们已经开始使用 MWAA 2.0.2,总体上运行良好,但奇怪的是,在尝试使用任何 AWS 提供者运算符用于一些“hello aws-world”DAGS 时,它们无法被找到或导入以供使用。这是一个 bug 吗?在 mwaa-local-runner 镜像以及实际服务本身中,情况似乎是相同的。

例如,以下代码(从 module documentation 中复制):

from airflow.providers.amazon.aws.operators.s3 import (
    S3CopyObjectOperator,
    S3CreateBucketOperator,
    S3CreateObjectOperator,
    S3DeleteBucketOperator,
    S3DeleteBucketTaggingOperator,
    S3DeleteObjectsOperator,
    S3FileTransformOperator,
    S3GetBucketTaggingOperator,
    S3ListOperator,
    S3ListPrefixesOperator,
    S3PutBucketTaggingOperator,
)

会产生导入错误:

Broken DAG: [/usr/local/airflow/dags/s3_dag.py] Traceback (most recent call last):
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/usr/local/airflow/dags/s3_dag.py", line 3, in <module>
    from airflow.providers.amazon.aws.operators.s3 import (
ModuleNotFoundError: No module named 'airflow.providers.amazon.aws.operators.s3'

我需要补充的是,我尝试将模块添加到 requirements.txt 中以确保安装,但似乎它已经在那里了,并且我收到了“requirement already sastified”的消息,这是我预期的,因为这是一个 AWS 服务。

profile picture
专家
已提问 6 个月前37 查看次数
1 回答
0

【以下的回答经过翻译处理】 airflow.providers.amazon.aws.operators.s3 模块从 Airflow 版本2.6.0 开始可用。然而,下面提到的大多数内容都包含在 Airflow 2.0.0 的多个 s3 模块中。

from airflow.providers.amazon.aws.operators.s3_bucket import (S3CreateBucketOperator, S3DeleteBucketOperator)
from airflow.providers.amazon.aws.operators.s3_bucket_tagging import (S3GetBucketTaggingOperator, S3PutBucketTaggingOperator, S3DeleteBucketTaggingOperator)
from airflow.providers.amazon.aws.operators.s3_list import S3ListOperator
from airflow.providers.amazon.aws.operators.s3_file_transform import S3FileTransformOperator
from airflow.providers.amazon.aws.operators.s3_delete_objects import S3DeleteObjectsOperator

以下是 Airflow 2.0.0 中可用的所有 AWS operators 的完整列表 - https://airflow.apache.org/docs/apache-airflow-providers-amazon/2.0.0/_api/airflow/providers/amazon/aws/operators/index.html

profile picture
专家
已回答 6 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则