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 () ); }
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.