Updated on 2022-02-10 GMT+08:00

PUT Bucket logging

API Description

You can use this API to configure access logging for a bucket.

Method Definition

1. ObsClient->setBucketLogging(array $parameter)
2. ObsClient->setBucketLoggingAsync(array $parameter, callable $callback)

Request Parameter

Field

Type

Optional or Mandatory

Description

Bucket

string

Mandatory

Bucket name

Agency

string

Mandatory when configuring bucket logging

Agency 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 type

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

Permission

string

Optional

Granted permission

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 -> setBucketLogging([
              '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());
}