調用PutObjectTagging介面設定或更新對象(Object)的標籤(Tagging)資訊。對象標籤使用一組索引值對(Key-Value)標記對象。
注意事項
單個Object最多能設定10個標籤,Key不能重複。
每個Key長度不能超過128字元,每個Value長度不能超過256字元。
Key和Value區分大小寫。
標籤的合法字元集包括大小寫字母、數字、空格和以下符號:
+‑=._:/
通過HTTP Header的方式設定標籤且標籤中包含任一字元時,您需要對標籤的Key和Value進行URL編碼。
更改標籤資訊不會更新Object的Last‑Modified時間。
關於對象標籤的更多資訊,請參見對象標籤。
版本控制
調用PutObjectTagging介面時,預設設定Object目前的版本的標籤資訊。您可以通過指定versionId參數來設定指定Object版本的標籤資訊。如果Object的對應版本為刪除標記(Delete Marker),則OSS將返回404 Not Found。
請求文法
PUT /objectname?tagging
Content‐Length: 114
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: Mon, 18 Mar 2019 08:25:17 GMT
Authorization: SignatureValue
<Tagging>
<TagSet>
<Tag>
<Key>Key</Key>
<Value>Value</Value>
</Tag>
</TagSet>
</Tagging>
請求元素
名稱 | 類型 | 是否必選 | 樣本值 | 描述 |
Tagging | 容器 | 是 | 不涉及 | 標籤集合。 子節點:TagSet |
TagSet | 容器 | 是 | 不涉及 | 標籤集合。 父節點:Tagging 子節點:Tag |
Tag | 容器 | 否 | 不涉及 | 標籤集合。 父節點:TagSet 子節點:Key、Value |
Key | 字串 | 否 | a | 標籤鍵。 父節點:Tag 子節點:無 |
Value | 字串 | 否 | 1 | 標籤值。 父節點:Tag 子節點:無 |
此介面還涉及其他公用要求標頭。更多資訊,請參見公用要求標頭(Common Request Headers)。
樣本
未開啟版本控制
在未開啟版本控制情況下,針對儲存空間bucketname中的對象objectname,通過PUT請求設定{a:1}和{b:2}兩個標籤。標籤設定成功後返回200 (OK)。
請求樣本
PUT /objectname?tagging Content‐Length: 114 Host: BucketName.oss-cn-hangzhou.aliyuncs.com Date: Mon, 18 Mar 2019 08:25:17 GMT Authorization: OSS qn6q**************:77Dv**************** <Tagging> <TagSet> <Tag> <Key>a</Key> <Value>1</Value> </Tag> <Tag> <Key>b</Key> <Value>2</Value> </Tag> </TagSet> </Tagging>
返回樣本
200 (OK) content‐length: 0 server: AliyunOSS connection: keep-alive x‐oss‐request‐id: 5C8F55ED461FB4A64C00**** date: Mon, 18 Mar 2019 08:25:17 GMT
已啟用版本控制
在啟用了版本控制的情況下,針對儲存空間bucketname中的對象objectname的指定版本(即請求樣本中的versionId),通過PUT請求設定{age:18}標籤。標籤設定成功後返回200 (OK)。
請求樣本
PUT /objectname?tagging&versionId=CAEQExiBgID.jImWlxciIDQ2ZjgwODIyNDk5MTRhNzBiYmQwYTZkMTYzZjM0**** Content-Length: 90 Host: BucketName.oss-cn-hangzhou.aliyuncs.com Date: Wed, 24 Jun 2020 08:58:15 GMT Authorization: OSS qn6q**************:77Dv**************** <Tagging> <TagSet> <Tag> <Key>age</Key> <Value>18</Value> </Tag> </TagSet> </Tagging>
返回樣本
200 (OK) content-length: 0 server: AliyunOSS connection: keep-alive x-oss-request-id: 5EF315A7FBD3EC3232B4**** date: Wed, 24 Jun 2020 08:58:15 GMT x-oss-version-id: CAEQExiBgID.jImWlxciIDQ2ZjgwODIyNDk5MTRhNzBiYmQwYTZkMTYzZjM0****
SDK
PutObjectTagging介面對應的各語言SDK樣本如下:
錯誤碼
錯誤碼 | HTTP狀態代碼 | 描述 |
FileAlreadyExists | 409 | Bucket開啟階層命名空間後,當您要在該Bucket中設定或者更改Object的標籤資訊時,如果設定的Object為目錄,則返回該錯誤。 |