【发布时间】:2022-01-21 04:37:38
【问题描述】:
所以我试图在我的气流 dag 中设置一个 S3Hook,方法是在我的脚本中以编程方式设置连接,就像这样
from airflow.hooks.S3_hook import S3Hook
from airflow.models import Connection
from airflow import settings
def s3_test_hook():
conn = Connection(
conn_id='aws-s3',
conn_type='s3',
extra={"aws_access_key_id":aws_key,
"aws_secret_access_key": aws_secret},
)
我可以运行conn 行没问题,它告诉我可以建立连接。 aws_key 和 aws_secret 通过 dotenv 加载 int,其中包含我在本地目录中的 .env 文件。
但是,当我在函数中运行接下来的两行时:
s3_hook = S3Hook(aws_conn_id='aws-s3')
find_bucket = s3_hook.check_for_bucket('nba-data')
检查我知道存在的存储桶。我收到此错误
NoCredentialsError: Unable to locate credentials
关于如何解决这个问题的任何想法?
谢谢!
【问题讨论】:
标签: python amazon-s3 airflow hook credentials