无需 AWS 凭证即可获取可公开访问的 S3 存储桶内容

pri*_*stc 5 amazon-s3 amazon-web-services python-3.x

给定一个包含可公开访问的内容的存储桶,我如何获得所有这些可公开访问的内容的列表?我知道 boto 可以做到这一点,但 boto 需要 AWS 凭证。另外,boto 在我正在使用的 Python3 中不起作用。

Cha*_*lke 4

如果存储桶的权限允许所有人列出它,您只需执行一个简单的 HTTP GET 请求即可,http://s3.amazonaws.com/bucketname无需凭据。响应将是包含所有内容的 XML,无论这些对象是否可供所有人访问。我不知道 boto 是否可以选择在没有凭据的情况下提出此请求。如果没有,您将不得不使用较低级别的 HTTP 和 XML 库。

如果存储桶本身不允许每个人列出它,则无法获取其内容列表,即使其中的某些对象是可公开访问的。