【发布时间】:2012-12-20 02:08:51
【问题描述】:
给定一个包含可公开访问内容的存储桶,我如何获取所有这些可公开访问内容的列表?我知道 boto 可以做到这一点,但 boto 需要 AWS 凭证。此外,boto 在我正在使用的 Python3 中也不起作用。
【问题讨论】:
标签: python-3.x amazon-web-services amazon-s3
给定一个包含可公开访问内容的存储桶,我如何获取所有这些可公开访问内容的列表?我知道 boto 可以做到这一点,但 boto 需要 AWS 凭证。此外,boto 在我正在使用的 Python3 中也不起作用。
【问题讨论】:
标签: python-3.x amazon-web-services amazon-s3
如果存储桶的权限允许所有人列出它,您只需向 http://s3.amazonaws.com/bucketname 发出简单的 HTTP GET 请求,无需凭据。响应将是包含所有内容的 XML,无论这些对象是否可供所有人访问。我不知道 boto 是否可以选择在没有凭据的情况下提出此请求。如果没有,您将不得不使用较低级别的 HTTP 和 XML 库。
如果存储桶本身不允许所有人列出它,则无法获取其内容的列表,即使其中的某些对象是可公开访问的。
【讨论】:
使用 AWS CLI,
aws s3 ls s3://*bucketname* --region *bucket-region* --no-sign-request
【讨论】: