Object Storage Service (OSS) では、タグを使用してオブジェクトを分類できます。 同じタグを持つオブジェクトをバッチ管理できます。 たとえば、オブジェクトの有効期間を指定したり、同じタグを持つオブジェクトのストレージクラスを変換したりできます。 object-taggingコマンドを実行して、オブジェクトタグを追加、変更、クエリ、または削除できます。
使用上の注意
オブジェクトタグを追加または変更するには、
oss:PutObjectTagging
権限が必要です。 オブジェクトタグをクエリするには、oss:GetObjectTagging
権限が必要です。 オブジェクトタグを削除するには、oss:DeleteObjectTagging
権限が必要です。 詳細については、「RAMユーザーへのカスタムポリシーのアタッチ」をご参照ください。
このトピックでは、64ビットLinuxシステムに基づくサンプルコマンドラインを提供します。 他のシステムのために、取り替えて下さい./ossutil64対応するバイナリ名を持つコマンドで 詳細は、「ossutilコマンドリファレンス」をご参照ください。
オブジェクトタグの詳細については、「オブジェクトへのタグの追加」をご参照ください。
コマンド構文
./ossutil64 object-tagging oss://bucketname[/prefix][key#value]
--method <value>
[--encoding-type <value>]
[-r, --recursive]
[--payer <value>]
[--version-id <value>]
次の表に、構文のパラメーターとオプションを示します。
パラメータ /オプション | 説明 |
bucketname | バケットの名前です。 |
プレフィックス | バケット内のリソース (ディレクトリやオブジェクトなど) 。 |
キー | タグのキー。 タグはキーと値のペアです。 各オブジェクトに最大10個のタグを追加できます。 同じオブジェクトのタグには、一意のタグキーが必要です。 タグのキーは、次の要件に準拠している必要があります。
|
値 | タグの値。 タグの値は、次の要件に準拠している必要があります。
|
-- メソッド | リクエストのタイプ。 有効な値:
|
-- encoding-type |
|
-r, -- recursive | コマンドでこのオプションを指定した場合、ossutilは、prefixパラメーターで指定されたプレフィックスを名前に含むすべてのオブジェクトのタグ付けを構成します。 コマンドでこのオプションを指定しない場合、ossutilは指定されたオブジェクトに対してのみタグ付けを構成します。 |
-- version-id | オブジェクトのバージョンID。 このパラメーターは、バージョン管理が有効または一時停止されているバケット内のオブジェクトにのみ適用されます。 |
-- 支払人 | トラフィックとリクエスト料金の支払人。 指定したパスのリソースにアクセスするリクエスタにトラフィックとリクエスト料金を支払う場合は、このオプションをrequesterに設定します。 |
オブジェクトタグの追加または変更
バケット内のオブジェクトにタグを追加したり、バケット内のオブジェクトのタグを変更したりできるのは、バケットの所有者とPutObjectTagging権限を持つRAMユーザーだけです。
次の例は、オブジェクトのタグを追加および変更する方法を示しています。
指定されたオブジェクトに、コマンドで指定されたものと同じキーを持つタグがない場合、そのタグがオブジェクトに追加されます。 指定されたオブジェクトに、コマンドで指定されたものと同じキーを持つ既存のタグがある場合、既存のタグは上書きされます。
examplebucketという名前のバケット内のexampleobject.txtという名前のオブジェクトに対して、keyがtagkeyで値がtagvalueであるタグを設定します。
./ossutil64 object-tagging --method put oss://examplebucket/exampleobject.txt tagkey#tagvalue
examplebucketという名前のバケット内のexampleobject.pngという名前のオブジェクトに対して、tagkey1#tagvalue1およびtagkey2#tagvalue2のタグを設定します。
./ossutil64 object-tagging --method put oss://examplebucket/exampleobject.txt tagkey1#tagvalue1 tagkey2#tagvalue2
examplebucketという名前のバケットで "test" プレフィックスを含むオブジェクトに対して、tagkey3#tagvalue3、tagkey4#tagvalue4、tagkey5#tagvalue5を設定します。
./ossutil64 object-tagging --method put oss://examplebucket/test -r tagkey3#tagvalue3 tagkey4#tagvalue4 tagkey5#tagvalue5
examplebucketという名前のバケットで、exampleobject.txtという名前のオブジェクトの指定されたバージョンに対して、キーがtagkey6、値がtagvalue6のタグを設定します。
./ossutil64 object-tagging --method put oss://examplebucket/exampleobject.txt tagkey6#tagvalue6 --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****
オブジェクトのすべてのバージョンを一覧表示する方法の詳細については、「Is」をご参照ください。
上記のサンプルコマンドが成功すると、次の同様の出力が返され、タグ付けの設定に使用された時間が示されます。
0.106852(s) elapsed
オブジェクトタグの照会
バケット内のオブジェクトのタグを照会できるのは、バケットの所有者とGetObjectTagging権限を持つRAMユーザーだけです。
次の例は、オブジェクトのタグを照会する方法を示しています。
オブジェクトのタグの照会
examplebucketという名前のバケット内のexampleobject.txtという名前のオブジェクトのタグを照会します。
./ossutil64 object-tagging --method get oss://examplebucket/exampleobject.txt
次の出力は、exampleobject.txtには、キーがtagkeyで値がtagvalueであるタグがあることを示しています。
object index tag index tag key tag value object --------------------------------------------------------------------------- 1 0 "tagkey" "tagvalue" oss://examplebucket/exampleobject.txt 0.068156(s) elapsed
複数のオブジェクトのタグを照会する
examplebucketという名前のバケット内の "test" プレフィックスを含むすべてのオブジェクトのタグを照会します。
./ossutil64 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
オブジェクトタグの削除
バケット内のオブジェクトのタグを削除できるのは、バケットの所有者とDeleteObjectTagging権限を持つRAMユーザーだけです。
次の例は、オブジェクトのタグを削除する方法を示しています。
オブジェクトのタグを削除する
次のコマンドを実行すると、examplebucketという名前のバケット内のexampleobject.txtという名前のオブジェクトのタグを削除できます。
./ossutil64 object-tagging --method delete oss://examplebucket/exampleobject.txt
複数のオブジェクトのタグを削除する
次のコマンドを実行すると、examplebucketという名前のバケット内の "test" プレフィックスを含むすべてのオブジェクトのタグを削除できます。
./ossutil64 object-tagging --method delete oss://examplebucket/test -r
上記のコマンドが成功した場合、タグの削除に使用された時間を示す次のような出力が返されます。
0.148970(s) elapsed
一般的なオプション
ossutilを使用して別のリージョンにあるバケットに切り替える場合は、コマンドに -eオプションを追加して、指定したバケットがあるリージョンのエンドポイントを指定します。 ossutilを使用して別のAlibaba Cloudアカウントに属するバケットに切り替える場合、コマンドに -iオプションを追加して、指定されたアカウントのAccessKey IDを指定し、コマンドに -kオプションを追加して、指定されたアカウントのAccessKey secretを指定します。
たとえば、次のコマンドを実行して、中国 (上海) リージョンにあり、別のAlibaba Cloudアカウントが所有するtestbucketという名前のバケット内のexample.pngという名前のオブジェクトに対して、キーがtagkey7で値がtagvalue7のタグを設定できます。
./ossutil64 object-tagging --method put oss://testbucket/exampletest.png tagkey7#tagvalue7 -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H****
共通オプションの詳細については、「共通オプション」をご参照ください。