最近更新时间:2023-01-12 11:52:17
以下代码用于创建存储空间:
// 创建指定名称的存储空间
// 设置权限列表
AccessControlList acl = new AccessControlList();
// 例如设置用户id为12345678的用户对object的读权限
// 创建权限对象
Grant grant1 = new Grant();
// 创建用户id对象
GranteeId id = new GranteeId();
id.setIdentifier("12345678");
// 设置用户id
grant1.setGrantee(id);
// 设置权限,其中Permission为枚举类型
grant1.setPermission(Permission.Read);
// 将权限信息添加到控制列表中,此处可以添加多个权限对象,能够为每个指定的用户id添加对应的权限
acl.addGrant(grant1);
client.createBucket("<bucketName>", acl, new CreateBucketResponceHandler() {
@Override
public void onFailure(int statesCode, Ks3Error error, Header[] responceHeaders, String response, Throwable paramThrowable) {
// 请求失败 bucket名字不符合需求, 会抛出IllegalArgumentException
}
@Override
public void onSuccess(int statesCode, Header[] responceHeaders) {
// 请求成功
}
});
上述代码在创建Bucket时,指定了Bucket的ACL。当然,你也可以通过下面的方式设置既定的权限:
// CannedAccessControlList[PublicRead/Private/PublicReadWrite]
CannedAccessControlList cannedAcl = CannedAccessControlList.PublicReadWrite;
client.createBucket("<bucketName>", cannedAcl, new CreateBucketResponceHandler() {
@Override
public void onFailure(int statesCode, Ks3Error error, Header[] responceHeaders, String response, Throwable paramThrowable) {
// 请求失败
}
@Override
public void onSuccess(int statesCode, Header[] responceHeaders) {
// 请求成功
}
});
纯净模式