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 |
![](https://support.huaweicloud.com/eu/api-obs_nodejs_sdk_api_en/public_sys-resources/note_3.0-en-us.png)
- 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); } } });
![](https://support.huaweicloud.com/eu/api-obs_nodejs_sdk_api_en/public_sys-resources/note_3.0-en-us.png)
- 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.