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 |
||
RequestDate |
String or Date |
Optional |
Request time
NOTE:
When the parameter type is String, the value must comply with the ISO8601 or RFC822 standards. |
||
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 |
Mandatory when Type is CanonicalUser. In other cases, leave it null. |
ID of the domain to which the grantee belongs |
||
URI |
String |
Mandatory when Type is Group. In other cases, leave it null. |
|||
Permission |
String |
Mandatory |
- Owner and Grants must be used together and they cannot be used with ACL.
- 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} ] },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); } } });
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.