Each Amazon S3 bucket has an associated XML sub-resource that you can read and write in order to inspect or change the logging status for that bucket. The XML schema for the bucket logging status resource is common across SOAP and REST.
The BucketLoggingStatus
element has the following structure.
Following is a list of elements that belong to the BucketLoggingStatus
element.
To enable server access logging, Set or PUT
a
BucketLoggingStatus
with a nested LoggingEnabled
element. To disable server access logging, Set or PUT
an empty
BucketLoggingStatus
element.
In REST, the address of the BucketLoggingStatus resource for a bucket
'mybucket' is
http://s3.amazonaws.com/
mybucket
?logging. The
PUT
and GET
methods are valid for this resource.
For example, the following
request fetches the BucketLoggingStatus
resource for mybucket.
GET ?logging HTTP/1.1 Host: mybucket.s3.amazonaws.com Date: Wed, 01 Mar 2006 12:00:00 GMT Authorization: AWSYOUR_AWS_ACCESS_KEY_ID
:YOUR_SIGNATURE_HERE
HTTP/1.1 200 OK Date: Wed, 01 Mar 2006 12:00:00 GMT Connection: close Server: AmazonS3 <?xml version="1.0" encoding="UTF-8"?> <BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/2006-03-01"> <LoggingEnabled> <TargetBucket>mybucketlogs</TargetBucket> <TargetPrefix>mybucket-access_log-/</TargetPrefix> <TargetGrants> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AmazonCustomerByEmail"> <EmailAddress>[email protected]</EmailAddress> </Grantee> <Permission>READ</Permission> </Grant> </TargetGrants> </LoggingEnabled> </BucketLoggingStatus>
In SOAP, you can work with BucketLoggingStatus resource using the SOAPSetBucketLoggingStatus and SOAPGetBucketLoggingStatus operations.
Amazon S3 checks the validity of the proposed
BucketLoggingStatus
when you try to Set or PUT
to it.
If the TargetBucket
does not exist, is not owned
by you, or does not have the appropriate grants, you will receive the
InvalidTargetBucketForLogging
error. If your
proposed BucketLoggingStatus
document is not
well-formed XML or does not match our published schema, you will receive
the MalformedXMLError
.