gpt4 book ai didi

python - 使用 boto3 从 AWS S3 Bucket 下载文件导致 ClientError : An error occurred (403): Forbidden

转载 作者:行者123 更新时间:2023-12-03 19:30:04 26 4
gpt4 key购买 nike

我正在尝试使用 https://db.humanconnectome.org 提供的访问 key ID 和 secret 访问 key 从 s3 存储桶下载文件。 .但是,即使我能够浏览数据库并找到文件(因为我已经通过 aws cli 配置了我的凭据),但尝试下载它们会导致以下错误:
“botocore.exceptions.ClientError:调用HeadObject操作时发生错误(403):禁止”

使用相同的凭据,我可以浏览相同的数据库并通过 Cyber​​duck 等云存储浏览器手动下载文件,因此 Cyber​​duck 访问数据的方式不会引发 403 Forbidden 错误。

我还验证了 boto3 能够访问我的 aws 凭据,并且还尝试了对它们进行硬编码。

我尝试下载数据的方式非常简单,并复制了 boto3 文档示例:https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3-example-download-file.html

s3 = boto3.client('s3',
aws_access_key_id=ACCESS_KEY_ID,
aws_secret_access_key=ACCESS_KEY,)

s3.download_file(Bucket=BUCKET_NAME, Key=FILE_KEY, Filename=FILE_NAME)


这应该将文件下载到 FILE_NAME 给定的位置和文件,但会调用 403 Forbidden 错误。

最佳答案

下载文件时,您还需要传递存储桶区域。尝试配置 region使用 CLI 或通过 region_name创建客户端时。

s3 = boto3.client('s3',
aws_access_key_id=ACCESS_KEY_ID,
aws_secret_access_key=ACCESS_KEY,
region_name=AWS_REGION)

https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html

关于python - 使用 boto3 从 AWS S3 Bucket 下载文件导致 ClientError : An error occurred (403): Forbidden,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55795236/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com