首页 > 解决方案 > S3KeySensor 问题:尽管在凭证文件中传递了主机参数,但任务失败

问题描述

气流版本:1.8

我在我的 DAG 中使用 S3keysensor。在气流连接中,我指出了 AWS 的凭证文件。我尝试通过凭证文件以及气流连接传递“主机”参数,但我仍然遇到同样的错误。

'BotoClientError:使用 SigV4 时,必须指定一个 'host' 参数'

aws 凭证文件:

host=s3.us-east-2.amazonaws.com

access_key=xxxxxxxxxxxxxxxxx

secret_key=xxxxxxxxxxxxxxxxx

标签: amazon-s3boto3airflow

解决方案


host 参数不是凭证文件中的选项,而是类的选项boto.s3.connection.S3Connection。因此,如果您以某种方式设置代码,如下所示,则必须添加主机参数,例如:

from boto.s3.connection import S3Connection
conn = S3Connection(host=<HOST>)

或者

import boto
conn = boto.connect_s3(host=<HOST>)

不在凭证文件中。


推荐阅读