从亚马逊s3的请求付费存储桶下载文件

2024-10-03 17:17:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要从一个API下载一些回放文件,该文件存储在amazons3存储桶中,并启用请求者付费。在

问题是,我设置了amazonaws帐户,创建了一个AWSAccessKeyIdAWSSecretKey,但是我仍然无法下载一个文件,因为我得到了一个Access denied响应。在

我想在Python脚本中自动执行所有这些操作,所以我一直在尝试使用boto3包来实现这一点。另外,我安装了amazonawscli,并设置了我的访问ID和密钥。在

我一直试图下载的文件(我想下载多个,但现在我只想下载一个)是:http://hotsapi.s3-website-eu-west-1.amazonaws.com/18e8b4df-6dad-e1f5-bfc7-48899e6e6a16.StormReplay

从目前为止我发现的情况来看,我尝试过这样的方法:

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

还有这个:

^{pr2}$

但我还是无法下载文件。在

欢迎任何帮助!谢谢!在


Tags: 文件nameimportyours3bucketwithboto3