【问题标题】:How to list content from a public Amazon s3 bucket如何列出公共 Amazon s3 存储桶中的内容
【发布时间】:2016-09-18 12:35:57
【问题描述】:

我已将我的存储桶配置为公开,这意味着每个人都可以将存储桶视为: http://bucket.s3-website-us-east-1.amazonaws.com/

现在我需要能够获取对象列表并在需要时下载它。

我找到了这方面的答案,这对我在 python 上进行设置非常有帮助: Quick way to list all files in Amazon S3 bucket?

如果我输入访问密钥和秘密访问密钥,这将正常工作。

但问题是我们可能会有人访问我们根本不想拥有任何密钥的存储桶。因此,如果未提供密钥,它会给我 400 Bad Response 错误。

起初我认为这可能是不可能的。但广泛的搜索让我找到了这个 R 包: Cloudyr R package

使用它我可以在不需要键的情况下填充对象:

get_bucket(bucket = 'bucket')

在 R 中,但功能仅限于列出/下载文件。任何想法我如何在 boto 中执行此操作?

【问题讨论】:

  • 嗯,您可以使用s3 = boto.connect_s3(anon=True) 连接到公共s3 存储桶而无需凭据。

标签: python r amazon-web-services amazon-s3


【解决方案1】:

默认的S3策略是alldeny,所以需要设置权限策略

  • 选择您的存储桶并点击属性
  • 添加每个人都可以列出的更多权限
  • 编辑存储桶策略获取对象

【讨论】:

【解决方案2】:

我认为您需要的是允许匿名读取存储的对象的存储桶策略。

Granting Read-Only Permission to an Anonymous User 应该会有所帮助。

【讨论】:

    猜你喜欢
    • 2014-12-23
    • 1970-01-01
    • 1970-01-01
    • 2018-04-24
    • 2018-01-07
    • 2017-03-07
    • 1970-01-01
    • 2012-04-05
    • 1970-01-01
    相关资源
    最近更新 更多