PUT Object acl
API Description
You can use this API to set the ACL for an object in a specified bucket.
Method Definition
ObsClient.setObjectAcl
Request Parameter
|
Field |
Type |
Optional or Mandatory |
Description |
||
|---|---|---|---|---|---|
|
Bucket |
String |
Mandatory |
Bucket name |
||
|
Key |
String |
Mandatory |
Object name |
||
|
VersionId |
String |
Optional |
Object version ID |
||
|
ACL |
String |
Optional |
|||
|
Owner |
Object |
Optional |
Object owner |
||
|
ID |
String |
Mandatory |
ID of the domain to which the object owner belongs |
||
|
Delivered |
Boolean |
Optional |
Whether the bucket ACL is applied to objects in the bucket |
||
|
Grants |
Array |
Optional |
List of grantees' permission information |
||
|
Grantee |
Object |
Mandatory |
Grantee |
||
|
Type |
String |
Mandatory |
|||
|
ID |
String |
If Type is CanonicalUser, this field is optional. If Type is Group, this field must be null. |
ID of the domain to which the grantee belongs |
||
|
URI |
String |
If Type is Group, this field is mandatory. If Type is CanonicalUser, this field must be null. |
|||
|
Permission |
String |
Mandatory |
|||
- Owner and Grants must be used together. These two fields are mutually exclusive with ACL. When ACL is configured, these two fields are unavailable, and vice versa.
- You must set either the two fields or ACL.
Returned Result (InterfaceResult)
|
Field |
Type |
Description |
|---|---|---|
|
RequestId |
String |
Request ID returned by the OBS server |
Sample Code
obsClient.setObjectAcl({
Bucket:'bucketname',
Key : 'objectkey',
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.GroupAllUsers},Permission:obsClient.enums.PermissionWrite},
{Grantee:{Type:'Group',URI:obsClient.enums.GroupAllUsers},Permission:obsClient.enums.PermissionRead}
]
},(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);
}
}
});
Last Article: Modifying Object Metadata
Next Article: GET Object acl
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.