设置桶ACL
功能说明
设置桶的访问权限。
方法定义
ObsClient.setBucketAcl
请求参数
字段名 | 类型 | 约束 | 说明 | ||
|---|---|---|---|---|---|
Bucket | String | 必选 | 桶名。 | ||
RequestDate | String 或 Date | 可选 | 指定请求时间。 说明: 当为String类型时,必须符合ISO8601或RFC822规范。 | ||
ACL | String | 可选 | |||
Owner | Object | 可选 | 桶的所有者。 | ||
- | ID | String | 必选 | 桶所有者的DomainId。 | |
Grants | Array | 可选 | 被授权用户权限信息列表。 | ||
- | Grantee | Object | 必选 | 被授权用户。 | |
- | Type | String | 必选 | 被授权的用户类型。 | |
ID | String | 如果Type为“CanonicalUser”则必选,否则必须为空 | 被授权用户的DomainId。 | ||
URI | String | 如果Type为“Group”则必选,否则必须为空 | 被授权的用户组。 | ||
Permission | String | 必选 | 被授予的权限。 | ||
Delivered | Boolean | 可选 | 桶内对象ACL是否继承桶的ACL。 | ||

- Owner和Grants必须配套使用,且与ACL互斥。当设置了这两个字段时,不能设置ACL;反之,当设置了ACL时,不能设置Owner和Grants。
- Owner、Grants与ACL不能全为空。
返回结果(InterfaceResult)
字段名 | 类型 | 说明 |
|---|---|---|
RequestId | String | OBS服务端返回的请求ID。 |
代码样例
obsClient.setBucketAcl ({
Bucket : 'bucketname',
Owner:{ID:'ownerid'},
Grants:[
{Grantee:{Type:'CanonicalUser',ID:'userid'},Permission:obsClient.enums.PermissionRead},
{Grantee:{Type:'CanonicalUser',ID:'userid'},Permission:obsClient.enums.PermissionWrite},
{Grantee:{Type:'Group', URI: obsClient.enums.GroupLogDelivery},Permission: obsClient.enums.PermissionWrite},
{Grantee:{Type:'Group', URI: obsClient.enums.GroupLogDelivery},Permission: obsClient.enums.PermissionWriteAcp}
]
},function (err, result) {
if(err){
console.error('Error-->' + err);
}else{
if(result.CommonMsg.Status < 300){
console.log('RequestId-->' + result.InterfaceResult.RequestId);
}else{
console.log('Code-->' + result.CommonMsg.Code);
console.log('Message-->' + result.CommonMsg.Message);
}
}
}); 
