PUT Object acl
API Description
You can use this API to set the ACL for an object in a specified bucket.
Method Definition
1. ObsClient->setObjectAcl(array $parameter) 2. ObsClient->setObjectAclAsync(array $parameter, callable $callback)
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 |
associative array |
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 |
indexed 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
|
Field |
Type |
Description |
|---|---|---|
|
HttpStatusCode |
integer |
HTTP status code |
|
Reason |
string |
Reason description |
|
RequestId |
String |
Request ID returned by the OBS server |
Sample Code
try {
$resp = $obsClient->setObjectAcl( [
'Bucket' => 'bucketname',
'Key' => 'objectkey',
'Owner' => ['ID' => 'ownerid'],
'Grants' => [
['Grantee' => ['Type' => 'CanonicalUser', 'ID' => 'userid'], 'Permission' => ObsClient::PermissionRead],
['Grantee' => ['Type' => 'CanonicalUser', 'ID' => 'userid'], 'Permission' => ObsClient::PermissionWriteAcp],
['Grantee' => ['Type' => 'Group', 'URI' => ObsClient::GroupAuthenticatedUsers], 'Permission' => ObsClient::PermissionWriteAcp],
['Grantee' => ['Type' => 'Group', 'URI' => ObsClient::GroupAuthenticatedUsers], 'Permission' => ObsClient::PermissionRead],
]
] );
printf ( "RequestId:%s\n", $resp ['RequestId'] );
} catch ( Obs\Common\ObsException $obsException ) {
printf ( "ExceptionCode:%s\n", $obsException->getExceptionCode () );
printf ( "ExceptionMessage:%s\n", $obsException->getExceptionMessage () );
}
Last Article: Obtain 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.