Java 在amazon s3中为通过PutObjectRequest上传的对象授予读取权限
我正在通过java应用程序将文本文件上传到Amazon s3 bucket。我想为每个人设置该文件的读取权限。有人知道怎么做吗?或者告诉我一些合适的资源?您可以创建一个bucket策略,使所有资源(或与通配符匹配的资源)都可用 单击aws S3控制台上的bucket属性,并将bucket策略编辑为如下内容:Java 在amazon s3中为通过PutObjectRequest上传的对象授予读取权限,java,amazon-s3,amazon-web-services,Java,Amazon S3,Amazon Web Services,我正在通过java应用程序将文本文件上传到Amazon s3 bucket。我想为每个人设置该文件的读取权限。有人知道怎么做吗?或者告诉我一些合适的资源?您可以创建一个bucket策略,使所有资源(或与通配符匹配的资源)都可用 单击aws S3控制台上的bucket属性,并将bucket策略编辑为如下内容: { "Version": "2008-10-17", "Statement": [ { "Sid": "auniqueid",
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "auniqueid",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::bucket/*"
}
]
}
其中,Resource
参数中的bucket
是您的bucket名称
您还可以通过Java API为特定文件设置公共权限:
PutObjectRequest por = new PutObjectRequest(bucketName, key, file);
por.setCannedAcl(CannedAccessControlList.PublicRead);
s3.putObject(por);
我在寻找JavaAPI代码。这个很有魅力。谢谢。对于.Net用户来说,确切的行应该是
por.CannedACL=S3CannedACL.PublicRead代码>效果字段中有一个输入错误,它应该是“允许”而不是“允许”