OSS支持以標簽的方式對存儲的對象(Object)進行分類,方便您管理擁有相同標簽的Object,例如通過生命周期規則為相同標簽的Object指定過期天數或轉換其存儲類型。object-tagging命令用于添加、修改、獲取和刪除對象標簽。
注意事項
要添加或修改Object標簽,您必須具有
oss:PutObjectTagging
權限;要獲取Object標簽信息,您必須具有oss:GetObjectTagging
權限;要刪除Object標簽信息,您必須具有oss:DeleteObjectTagging
權限。具體操作,請參見為RAM用戶授權自定義的權限策略。
從ossutil 1.6.16版本開始,命令行中Binary名稱支持直接使用ossutil,您無需根據系統刷新Binary名稱。如果您的ossutil版本低于1.6.16,則需要根據系統刷新Binary名稱。更多信息,請參見命令行工具ossutil命令參考。
關于對象標簽的更多信息,請參見對象標簽。
當您在OSS ON云盒中使用該命令時:
將配置文件中的Endpoint替換為云盒Endpoint。更多信息,請參見云盒Endpoint。
在本文已有示例的基礎上添加--sign-version、--region以及--cloudbox-id選項。關于這三個選項的具體用法,請參見通用選項。
命令格式
ossutil object-tagging oss://bucketname[/prefix][key#value]
--method <value>
[--encoding-type <value>]
[-r,--recursive]
[--payer <value>]
[--version-id <value>]
參數及選項說明如下:
配置項 | 說明 |
bucketname | Bucket名稱。 |
prefix | Bucket下的資源,例如目錄、文件等。 |
key | 對象標簽使用一組鍵值對(Key-Value)標記對象。單個文件可設置最多10個標簽,Key不可重復。設置Key時,需滿足以下條件:
|
value | 設置Value時,需滿足以下條件:
|
--method | 請求類型。取值如下:
|
--encoding-type | 對 |
-r,--recursive | 如果指定該選項時,ossutil將為Bucket下所有符合prefix條件的Object設置標簽。如果不指定該選項,則ossutil只為指定Object設置標簽。 |
--version-id | Object的指定版本。僅適用于已開啟或暫停版本控制狀態Bucket下的Object。 |
--payer | 請求的支付方式。如果希望訪問指定路徑下的資源產生的流量、請求次數等費用由請求者支付,請將此選項的值設置為requester。 |
添加或修改Object標簽
只有Bucket擁有者以及被授予PutObjectTagging的RAM用戶擁有設置或修改Object標簽的權限。
添加或修改Object標簽示例如下:
若Object未設置標簽,執行如下操作將為Object添加指定的標簽;若Object已配置標簽,執行如下操作將覆蓋Object原有標簽。
為目標存儲空間examplebucket下的exampleobject.txt文件設置key為tagkey,value為tagvalue的標簽信息。
ossutil object-tagging --method put oss://examplebucket/exampleobject.txt tagkey#tagvalue
為目標存儲空間examplebucket下的exampleobject.png文件設置兩組標簽信息。其中一組標簽信息為tagkey1#tagvalue1,另一組標簽信息為tagkey2#tagvalue2。
ossutil object-tagging --method put oss://examplebucket/exampleobject.txt tagkey1#tagvalue1 tagkey2#tagvalue2
為目標存儲空間examplebucket下與前綴test匹配的多個文件設置三組標簽信息,標簽信息分別為tagkey3#tagvalue3、tagkey4#tagvalue4和tagkey5#tagvalue5。
ossutil object-tagging --method put oss://examplebucket/test -r tagkey3#tagvalue3 tagkey4#tagvalue4 tagkey5#tagvalue5
為已開啟版本控制的存儲空間examplebucket下的exampleobject.txt的指定版本設置key為tagkey6,value為tagvalue6的標簽信息。
ossutil object-tagging --method put oss://examplebucket/exampleobject.txt tagkey6#tagvalue6 --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****
關于獲取Object所有版本的具體操作,請參見ls(列舉賬號級別下的資源)。
以上示例操作成功后,返回結果中將包含設置標簽信息所用時長,示例如下:
0.106852(s) elapsed
獲取Object標簽信息
只有Bucket擁有者以及被授予GetObjectTagging的RAM用戶擁有獲取Object標簽信息的權限。
獲取Object標簽信息的示例如下:
獲取單個Object的標簽信息
獲取目標存儲空間examplebucket下exampleobject.txt的標簽信息。
ossutil object-tagging --method get oss://examplebucket/exampleobject.txt
以下輸出結果表明已成功獲取exampleobject.txt的標簽信息,標簽信息的key為tagkey,value為tagvalue。
object index tag index tag key tag value object --------------------------------------------------------------------------- 1 0 "tagkey" "tagvalue" oss://examplebucket/exampleobject.txt 0.068156(s) elapsed
獲取多個Object的標簽信息
獲取目標存儲空間examplebucket下與前綴test匹配的文件的標簽信息。
ossutil object-tagging --method get oss://examplebucket/test -r
以下輸出結果表明已成功獲取與前綴test匹配的所有文件的標簽信息,分別為tagkey3#tagvalue3、tagkey4#tagvalue4和tagkey5#tagvalue5。
object index tag index tag key tag value object --------------------------------------------------------------------------- 1 0 "tagkey3" "tagvalue3" oss://examplebucket/test 1 1 "tagkey4" "tagvalue4" oss://examplebucket/test 1 2 "tagkey5" "tagvalue5" oss://examplebucket/test 0.093040(s) elapsed
刪除Object標簽信息
只有Bucket擁有者以及被授予DeletetObjectTagging的RAM用戶擁有刪除Object標簽信息的權限。
刪除Object標簽信息的示例如下:
刪除單個Object的標簽信息
刪除目標存儲空間examplebucket下exampleobject.txt的標簽信息。
ossutil object-tagging --method delete oss://examplebucket/exampleobject.txt
刪除多個Object的標簽信息
刪除目標存儲空間examplebucket下與前綴test匹配的所有文件的標簽信息。
ossutil object-tagging --method delete oss://examplebucket/test -r
以上示例操作成功后,返回結果中將包含刪除標簽信息所用時長,示例如下:
0.148970(s) elapsed
通用選項
當您需要通過命令行工具ossutil切換至另一個地域的Bucket時,可以通過-e選項指定該Bucket所屬的Endpoint。當您需要通過命令行工具ossutil切換至另一個阿里云賬號下的Bucket時,可以通過-i選項指定該賬號的AccessKey ID,并通過-k選項指定該賬號的AccessKey Secret。
例如您需要為另一個阿里云賬號下,華東2(上海)地域下目標存儲空間testbucket下的exampletest.png文件設置key為tagkey7、value為tagvalue7的標簽信息,命令如下:
ossutil object-tagging --method put oss://testbucket/exampletest.png tagkey7#tagvalue7 -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H****
關于此命令的其他通用選項的更多信息,請參見通用選項。