【发布时间】:2020-03-12 15:51:05
【问题描述】:
我正在尝试使用 Python/Boto3 下载 AWS S3 内容。
第三方正在上传数据,我需要下载。 他们提供了这样的凭据:
- 用户名:
MYUser - aws_access_key_id:
SOMEKEY - aws_secret_access_key:
SOMEOTHERKEY
使用流行的 Windows 10 应用 CyberDuck,我的“用户名”被添加到应用的路径设置中,third-party/MYUser/myfolder
这里没有给我我的桶。
my_bucket = s3.Bucket('third-party/MYUser')
ParamValidationError: Parameter validation failed:
Invalid bucket name 'third-party/MYUser': Bucket name must match the regex "^[a-zA-Z0-9.\-_]{1,255}$"
my_bucket = s3.Bucket('third-party')
ClientError: An error occurred (AccessDenied) when calling the ListObjects operation: Access Denied
my_bucket = s3.Bucket('MYStuff')
NoSuchBucket: An error occurred (NoSuchBucket) when calling the ListObjects operation: The specified bucket does not exist
根据我的阅读,third-party 是 AWS S3 存储桶名称,但我找不到有关如何访问其他人存储桶子目录的说明。
我看到Bucket() 有一些 user 参数。我在其他地方读到过角色和访问控制列表。但我没有找到一个简单的例子。
我如何在给定用户名的情况下访问其他人在 AWS S3 上的存储桶?
【问题讨论】:
标签: python amazon-web-services amazon-s3 boto3