PUT Bucket tagging

This implementation of the PUT operation uses the tagging subresource to add a set of tags to an existing bucket.

This operation is used to add tags to a bucket. Then, all CDRs generated by the requests for this bucket will take the same tags. Thus, CDR reports can be categorized for detailed cost analysis. For example, data is being uploaded to a bucket when an application is running. The application name can be tagged for this bucket. Use this tag to filter the CDRs generated by this application for analyzing its costs. However, searching for buckets by tag is not supported.

Only users granted the s3:PutBucketTagging permission can perform this operation. By default, the permission is granted to the bucket owner only. However, it can be granted to other users by configuring the bucket policy.

Request Syntax

PUT /?tagging HTTP/1.1
User-Agent: agent
Host: bucketname.obs.example.com
Accept: */*
Date: date
Authorization: authorization string
Content-MD5:<md5>
Content-Length: length
Expect: expect
<Tagging>
  <TagSet>
     <Tag>
       <Key>Tag Name</Key>
       <Value>Tag Value</Value>
     </Tag>
  </TagSet>
</Tagging>

Request Parameters

This request contains no parameter.

Request Headers

Content-MD5 will be a required header for this operation. This request uses common headers. For details about common request headers, see section Common Request Headers.

Request Elements

In this request, you must configure the tags of buckets in the request body. The configurations of tags are uploaded in the XML format. The following table describes the elements to be configured.

Table 1 Elements to be configured for bucket tags

Element

Description

Mandatory or Not

Tagging

Container for the TagSet and Tag elements

Type: Container

Ancestor: None

Yes

TagSet

Container for a set of tags

Type: Container

Ancestor: Tagging

Yes

Tag

Container for tag information

Type: Container. Each bucket supports a maximum of 20 tags.

Ancestor: TagSet

Yes

Key

Name of the tag

Type: String. It can contain a maximum of 36 characters, including A to Z, a to z, 0 to 9, hyphens (-), underscores (_), and Unicode(\u4E00-\u9FFF). In the same bucket, the key of a tag must be unique.

Ancestor: Tag

Yes

Value

Value of the tag

Type: String. It can contain a maximum of 43 characters, including A to Z, a to z, 0 to 9, hyphens (-), underscores (_), periods (.), and Unicode(\u4E00-\u9FFF). Note that periods (.) can be used for this parameter.

Ancestor: Tag

Yes

Response Syntax

HTTP/1.1 204 No Content
Server: Server Name
x-amz-request-id: request id
x-amz-id-2: id
x-reserved: amazon, aws and amazon web services are trademarks or registered trademarks of Amazon Technologies, Inc
Date: date

Response Headers

This response uses common headers. For details about common response headers, see section Common Response Headers.

Response Elements

This response involves no elements.

Error Responses

Except for common error responses, special error responses are also returned. The following table lists error responses and possible causes.

Table 2 Error responses and possible causes

Error Code

Possible Cause

HTTP Status Code

InvalidTag

An invalid tag is provided when configuring a tag for a bucket.

400 Bad Request

MalformedXML

The provided XML format is incorrect when configuring a bucket tag.

400 Bad Request

Sample Request

PUT /?tagging HTTP/1.1
User-Agent: curl/7.19.7 (x86_64-suse-linux-gnu) libcurl/7.19.7 OpenSSL/0.9.8j zlib/1.2.7 libidn/1.10
Host: bucketname.obs.example.com
Accept: */*
Date: Tue, 09 May 2017 02:41:20 +0000
Authorization: authorization string
Content-MD5: 5yPl6Bu6q5Z6vBItpJAqAQ==
Content-Length: 544
Expect: 100-continue
<Tagging>
    <TagSet>
        <Tag>
            <Key>TagNameJJ1</Key>
            <Value>tytttasceettt</Value>
        </Tag>
    </TagSet>
</Tagging>

Sample Response

HTTP/1.1 204 No Content
Server: OBS
x-amz-request-id: 0002B7532E0000015BEB146F2846E8E5
x-amz-id-2: a68r9ufCPuQCBUcwv1clom3zy/LsP+Bp+JJccmsmy2ptuwV3g0YMu3FIoTaEWA02
x-reserved: amazon, aws and amazon web services are trademarks or registered trademarks of Amazon Technologies, Inc
Date: Tue, 09 May 2017 02:40:37 GMT