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', // Set the object owner. Owner:{ID:'ownerid'}, Grants:[ // Grant full control access to a specified user. { Grantee: { Type: 'CanonicalUser',ID: 'userid' }, Permission: obsClient.enums.PermissionFullControl }, // Grant the READ permission to all users. { 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); } } });
- Use the Owner parameter to specify the object owner and use the Grants parameter to grant permissions for authorized users.
- The owner or grantee ID needed in the ACL indicates the account ID, which can be viewed on the My Credentials page of OBS Console.
- OBS buckets support the following grantee group:
- All users: ObsClient.enums.GroupAllUsers
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot