Amazon s3 需要在S3项目上设置多个固定ACL
我们有一项服务,我们的客户让我们访问他们的S3存储桶,我们将项目推入这些S3存储桶。我们需要能够做两件事:Amazon s3 需要在S3项目上设置多个固定ACL,amazon-s3,acl,Amazon S3,Acl,我们有一项服务,我们的客户让我们访问他们的S3存储桶,我们将项目推入这些S3存储桶。我们需要能够做两件事: 将项目的权限设置为可公开读取 将bucket的所有者设置为对该项具有完全权限 以下是我已经知道的: 我不能有两个带PUT的罐装ACL 问题: 我“可以”设置ACL头,但如果不知道所有者的信息(如cannonical_id或电子邮件),则无法通过头设置“所有者拥有完全权限”,对吗?是否有“所有者拥有完全权限”的“uri”版本,如“公共读取”(例如http://acs.amazonaws.co
我不想分别进行两次调用(一次用于获取Bucket所有者信息),另一次用于放置具有两种权限的项目。我遇到了相同的问题,下面的代码可以获得您所需的权限
AccessControlList accessControlList = new AccessControlList();
accessControlList.grantPermission(GroupGrantee.AllUsers, Permission.Read);
accessControlList.grantPermission(new CanonicalGrantee(s3Client.getS3AccountOwner()
.getId()), Permission.FullControl);
putReq.setAccessControlList(accessControlList);
我也遇到了同样的问题,下面的代码可以获得您需要的权限
AccessControlList accessControlList = new AccessControlList();
accessControlList.grantPermission(GroupGrantee.AllUsers, Permission.Read);
accessControlList.grantPermission(new CanonicalGrantee(s3Client.getS3AccountOwner()
.getId()), Permission.FullControl);
putReq.setAccessControlList(accessControlList);