【问题标题】:Get publicly accessible contents of S3 bucket without AWS credentials无需 AWS 凭证即可获取可公开访问的 S3 存储桶内容
【发布时间】:2012-12-20 02:08:51
【问题描述】:

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

【问题讨论】:

    标签: python-3.x amazon-web-services amazon-s3


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      使用 AWS CLI,

      aws s3 ls s3://*bucketname* --region *bucket-region* --no-sign-request

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-12-12
        • 2016-11-16
        • 1970-01-01
        • 2020-12-24
        • 1970-01-01
        • 1970-01-01
        • 2020-12-28
        • 1970-01-01
        相关资源
        最近更新 更多