如何列出公共Amazon s3存储桶中的内容

时间:2016-05-21 07:54:23

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

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

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

我发现这个答案非常有助于我在python上进行设置: Quick way to list all files in Amazon S3 bucket?

如果输入access-key和secret-access-key,这项工作正常。

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

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

使用此功能,我可以在不需要按键的情况下填充对象:

get_bucket(bucket = 'bucket')
R中的

但是列出/下载文件的功能有限。我有什么想法,如何在博托做这个?

2 个答案:

答案 0 :(得分:2)

默认的S3策略都是拒绝的,因此您需要为其设置权限策略

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

答案 1 :(得分:0)

我认为您需要的是Bucket Policy,它允许匿名读取存储的对象。

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

相关问题