我需要从API下载一些重播文件,这些文件已存储在Amazon s3存储桶中,并且启用了请求者付款。
问题是,我设置了我的亚马逊AWS账户,创建了AWSAccessKeyId
和AWSSecretKey
,但是我仍然无法下载单个文件,因为我得到了{{ 1}}响应。
我想在Python脚本中自动执行所有操作,因此我一直在尝试使用Access denied
软件包。另外,我安装了Amazon AWS CLI,并设置了访问ID和密钥。
我一直试图下载的文件(我想下载多个文件,但现在我只尝试下载一个)是:http://hotsapi.s3-website-eu-west-1.amazonaws.com/18e8b4df-6dad-e1f5-bfc7-48899e6e6a16.StormReplay
根据到目前为止我在SO上发现的内容,我已经尝试过类似的事情:
boto3
这:
import boto3
import botocore
BUCKET_NAME = 'hotsapi' # replace with your bucket name
KEY = '18e8b4df-6dad-e1f5-bfc7-48899e6e6a16.StormReplay' # replace with your object key
s3 = boto3.resource('s3')
try:
s3.Bucket(BUCKET_NAME).download_file(KEY, 'test.StormReplay')
except botocore.exceptions.ClientError as e:
if e.response['Error']['Code'] == "404":
print("The object does not exist.")
else:
raise
但是我仍然无法下载文件。
欢迎任何帮助!谢谢!