繁体   English   中英

无法使 airflow AWS 连接工作“ModuleNotFoundError:没有名为‘airflow.providers.amazon’的模块”

[英]Can't get airflow AWS connection to work "ModuleNotFoundError: No module named 'airflow.providers.amazon"

我一直在尝试运行一个简单的 Airflow DAG 来显示 s3 存储桶中的内容,但我不断收到此错误: ModuleNotFoundError: No module named 'airflow.providers.amazon'

我已经尝试了类似问题中推荐的几个 pip 安装,但仍然没有运气。 这是 python 脚本,下面是我的 Airflow 网络服务器的屏幕截图,显示了错误消息。 注意我使用的是 Airflow 版本 2.5.0

import datetime
import logging

from airflow import DAG
from airflow.models import Variable
from airflow.operators.python_operator import PythonOperator
from airflow.hooks.S3_hook import S3Hook

def list_keys():
    hook = S3Hook(aws_conn_id='aws_credentials_old')
    bucket = Variable.get('s3_bucket')
    prefix = Variable.get('s3_prefix')
    logging.info(f"Listing Keys from {bucket}/{prefix}")
    keys = hook.list_keys(bucket, prefix=prefix)
    for key in keys:
        logging.info(f"- s3://{bucket}/{key}")


dag = DAG(
        'lesson1.exercise4',
        start_date=datetime.datetime.now())

list_task = PythonOperator(
    task_id="list_keys",
    python_callable=list_keys,
    dag=dag
)

在此处输入图像描述

您可以尝试安装 backport-providers-amazon package,因为它仅在 Airflow 主分支中可用。

pip install apache-airflow-backport-providers-amazon

在这里您可以找到更多信息。 https://pypi.org/project/apache-airflow-backport-providers-amazon/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM