我正在尝试使用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()
有一些 用户 参数。我在其他地方读到了关于 角色 和 访问控制列表 的内容。但是我没有找到一个简单的例子。
如何通过用户名访问 AWS S3 上别人的存储桶?
my-bucket
视为由特定账户拥有的a-bucket
即可。 - John Rotenstein