2012-11-09 44 views

回答

27

您可以创建使所有资源(或与通配符匹配的资源)可用的存储桶策略。

点击在AWS S3控制台你的水桶性能和编辑桶政策是这样的:

{ 
    "Version": "2008-10-17", 
    "Statement": [ 
     { 
      "Sid": "auniqueid", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "*" 
      }, 
      "Action": "s3:GetObject", 
      "Resource": "arn:aws:s3:::bucket/*" 
     } 
    ] 
} 

bucketResource参数是你斗的名字。

您也可以设置公共许可通过Java API特定的文件:

PutObjectRequest por = new PutObjectRequest(bucketName, key, file); 
por.setCannedAcl(CannedAccessControlList.PublicRead); 
s3.putObject(por); 
+0

我一直在寻找的Java API代码。这一个工作就像一个魅力。谢谢。 – slonkar

+1

我一直在寻找.NET,也工作,谢谢! –

+0

对于.Net人来说,确切的行应该是'por.CannedACL = S3CannedACL.PublicRead;' – Grandizer