• Object Storage Service

obs
  1. Help Center
  2. Object Storage Service
  3. API Reference (PHP SDK)
  4. Bucket-Related APIs
  5. PUT Bucket logging

PUT Bucket logging

API Description

You can use this API to set logging for a bucket. Ensure that the log delivery user group of the target bucket has WRITE and READ_ACP permissions. (For details, see PUT Bucket acl.)

Method Definition

1. ObsClient->setBucketLoggingConfiguration(array $parameter)
2. ObsClient->setBucketLoggingConfigurationAsync(array $parameter, callable $callback)

Request Parameter

Field

Type

Optional or Mandatory

Description

Bucket

string

Mandatory

Bucket name

LoggingEnabled

associative array

Optional

Log configuration information

  

TargetBucket

string

Mandatory

Target bucket for which logs are generated

TargetPrefix

string

Mandatory

Name prefix of a to-be-logged object in the target bucket

TargetGrants

indexed array

Optional

List of grantees' permission information

  

Grantee

associative array

Optional

Grantee

  

Type

string

Mandatory

Grantee group. Possible values are:

  • CanonicalUser
  • Group

DisplayName

string

Optional when Type is CanonicalUser. In other cases, leave it null.

Grantee name

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.

Grantee group. Possible values are:

  • ObsClient::GroupAllUsers
  • ObsClient::GroupAuthenticatedUsers

Permission

string

Optional

Granted permission. Possible values are:

  • ObsClient::PermissionRead
  • ObsClient::PermissionReadAcp
  • ObsClient::PermissionWriteAcp
  • ObsClient::PermissionFullControl

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 -> setBucketLoggingConfiguration([
              'Bucket' => 'bucketname',
              'LoggingEnabled' => [
                     'TargetBucket' => 'targetbucketname',
                     'TargetPrefix' => 'prefix',
                     'TargetGrants' => [
                           ['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());
}