Object Storage Service (OSS) では、タグを使用してオブジェクトを分類できます。 同じタグを持つオブジェクトを管理できます。 たとえば、オブジェクトの有効期間を指定したり、同じタグを持つオブジェクトのストレージクラスを変換したりできます。 object-taggingコマンドを実行して、オブジェクトタグを追加、変更、クエリ、または削除できます。
使用上の注意
オブジェクトタグを追加または変更するには、
oss:PutObjectTagging
権限が必要です。 オブジェクトタグをクエリするには、oss:GetObjectTagging
権限が必要です。 オブジェクトタグを削除するには、oss:DeleteObjectTagging
権限が必要です。 詳細については、「RAMユーザーへのカスタムポリシーのアタッチ」をご参照ください。
ossutil 1.6.16以降の場合、コマンドラインでossutilをバイナリ名として直接使用できます。 オペレーティングシステムに基づいてバイナリ名を更新する必要はありません。 1.6.16より前のossutilの場合、オペレーティングシステムに基づいてバイナリ名を更新する必要があります。 詳細は、「ossutilコマンドリファレンス」をご参照ください。
オブジェクトタグの詳細については、「オブジェクトへのタグの追加」をご参照ください。
コマンド構文
ossutil 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という名前のオブジェクトに対して、キーがtagkeyで値が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という名前の指定されたバージョンのオブジェクトに対して、キーがtagkey6で値がtagvalue6であるタグを設定できます。
ossutil object-tagging --method put oss://examplebucket/exampleobject.txt tagkey6#tagvalue6 --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****
オブジェクトのすべてのバージョンを一覧表示する方法の詳細については、「Is」をご参照ください。
上記のサンプルコマンドが成功すると、次の同様の出力が返され、タグ付けの設定に使用された時間が示されます。
0.106852(s) elapsed
オブジェクトタグの照会
バケット内のオブジェクトのタグを照会できるのは、バケットの所有者とGetObjectTagging権限を持つRAMユーザーだけです。
次の例は、オブジェクトのタグを照会する方法を示しています。
オブジェクトのタグの照会
次のコマンドを実行して、examplebucketという名前のバケット内のexampleobject.txtという名前のオブジェクトのタグを照会できます。
ossutil 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" プレフィックスを名前に含むすべてのオブジェクトのタグを照会できます。
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
オブジェクトタグの削除
バケット内のオブジェクトのタグを削除できるのは、バケットの所有者とDeleteObjectTagging権限を持つRAMユーザーだけです。
次の例は、オブジェクトのタグを削除する方法を示しています。
オブジェクトのタグを削除する
次のコマンドを実行すると、examplebucketという名前のバケット内のexampleobject.txtという名前のオブジェクトのタグを削除できます。
ossutil object-tagging -- method delete oss:// examplebucket/exampleobject.txt
複数のオブジェクトのタグを削除する
次のコマンドを実行すると、examplebucketという名前のバケット内の "test" プレフィックスを含むすべてのオブジェクトのタグを削除できます。
ossutil 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のタグを設定できます。
ossutil object-tagging --method put oss://testbucket/exampletest.png tagkey7#tagvalue7 -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H****
共通オプションの詳細については、「共通オプション」をご参照ください。