如何在aws中的完整存储桶上指定公共读取策略?

时间:2015-11-12 18:59:34

标签: android amazon-web-services amazon-s3

我有一个名为foo的存储桶,其中包含名为bar和foobar的两个子文件夹。

层次

FOO   -酒吧   -foobar

问题

现在我想让我上传的对象公开可读。使用xhr(通过允许CORS)我能够这样做。但是使用 AWS android sdk ,公共读取acl仍未在其feature request on GITHUB指定的api中实现

很明显,我无法使用 AWS Android sdk

制作我上传的对象

所以请帮我解决这个问题。

2 个答案:

答案 0 :(得分:3)

这可以通过S3存储桶策略完成。见Bucket Policy Examples。看起来你需要的是允许匿名读取桶下的对象。您可以将以下存储桶策略应用于存储桶foo

{
  "Version":"2012-10-17",
  "Statement":[
    {
      "Sid":"AddPerm",
      "Effect":"Allow",
      "Principal": "*",
      "Action":["s3:GetObject"],
      "Resource":["arn:aws:s3:::foo/bar/*","arn:aws:s3:::foo/foobar/*"]
    }
  ]
}

这也应该回答Github上的问题。

答案 1 :(得分:0)

转移管理器目前不支持ACL;但是,您可以使用gdb --eval-command='file c.out' --eval-command='<sleep 5>' --eval-command='c' 来执行putObject()。您可以查看适用于Android的AWS Mobile SDK API Reference以获取更多详细信息。

相关问题