すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:object-tagging (オブジェクトタグの追加、変更、クエリ、および削除)

最終更新日:Dec 20, 2023

Object Storage Service (OSS) では、タグを使用してオブジェクトを分類できます。 同じタグを持つオブジェクトをバッチ管理できます。 たとえば、オブジェクトの有効期間を指定したり、同じタグを持つオブジェクトのストレージクラスを変換したりできます。 object-taggingコマンドは、オブジェクトタグの追加、変更、クエリ、および削除に使用します。

使用上の注意

  • バイナリ

    このトピックのサンプルコマンドラインは、64ビットLinuxシステムに基づいています。 他のシステムの場合は、を交換します。対応するバイナリ名を持つコマンドの /ossutil64。 詳細については、「ossutilの使用を開始する」をご参照ください。

  • タグの同期

    クロスリージョンレプリケーション (CRR) を実行すると、指定されたタグを持つオブジェクトをソースバケットからターゲットバケットに同期できます。 詳細については、「CRRの設定」をご参照ください。

オブジェクトのタグ付けの詳細については、「OSS開発者ガイド」の「オブジェクトのタグ付け」をご参照ください。

コマンド構文

. /ossutil64 object-tagging oss:// bucketname[/prefix][key#value]
-- method <value>
[-- encoding-type <value>]
[-r, -- recursive]
[-- payer <value>]
[-- version-id <value>] 

次の表に、このコマンドを実行するときに設定できるパラメーターを示します。

パラメーター

説明

bucketname

タグ付けを設定するオブジェクトが格納されているバケットの名前。

プレフィックス

バケット内のリソース (ディレクトリやオブジェクトなど) 。

キー

設定するタグのキー。 オブジェクトタグ付け機能は、キーと値のペアを使用してオブジェクトにタグを付けます。 各オブジェクトに最大10個のタグを追加できます。 同じオブジェクトのタグには、一意のタグキーが必要です。 タグのキーは、次の規則に準拠している必要があります。

  • タグのキーの長さは最大128文字で、大文字と小文字が区別されます。

  • タグのキーには、英数字、スペース、および次の特殊文字を含めることができます。

    +=._:/

設定するタグの値。 タグの値は、次の規則に準拠している必要があります。

  • タグの値は最大256文字で、大文字と小文字が区別されます。

  • タグの値には、英数字、スペース、および次の特殊文字を含めることができます。

    +=._:/

-- メソッド

リクエストのタイプ。 有効な値:

  • put: オブジェクトにタグを追加したり、オブジェクトのタグを変更したりするコマンドです。

  • get: オブジェクトのタグを照会するコマンド。

  • delete: オブジェクトのタグを削除するコマンドです。

-- encoding-type

完全なオブジェクトパスでoss:// bucket_nameに続くオブジェクト名で指定されたプレフィックスをエンコードするために使用されるメソッド。 有効値: url このパラメーターを指定しない場合、プレフィックスはエンコードされません。

-r, -- recursive

コマンドでこのパラメーターを指定すると、プレフィックスパラメーターで指定されたプレフィックスを名前に含むすべてのオブジェクトのタグ付けが設定されます。 コマンドでこのパラメーターを指定しない場合、ossutilは指定されたオブジェクトに対してのみタグ付けを構成します。

-- version-id

タグ付けを設定するオブジェクトのバージョンのID。 このパラメーターは、バージョン管理が有効または一時停止されているバケット内のオブジェクトにのみ適用されます。

-- 支払人

クエリ中に発生したトラフィックおよびリクエスト料金の支払人。 指定されたパスのリソースにアクセスするリクエスタが、コマンドの実行時に発生するトラフィックとリクエスト料金に対して課金されるようにするには、このパラメーターをrequesterに設定します。

オブジェクトタグの追加または変更

バケット内のオブジェクトにタグを追加したり、バケット内のオブジェクトのタグを変更したりできるのは、バケットの所有者とPutObjectTagging権限を持つRAMユーザーだけです。

次の例は、オブジェクトのタグを追加および変更する方法を示しています。

重要

次の例では、指定されたオブジェクトにタグがない場合、タグが追加されます。 指定されたオブジェクトに既にタグがある場合、既存のタグが置き換えられます。

  • examplebucketという名前のバケット内のexampleobject.txtという名前のオブジェクトに対して、keyがtagkeyで値がtagvalueであるタグを設定します。

    . /ossutil64 object-tagging -- メソッドput oss:// examplebucket/exampleobject.txt tagkey#tagvalue
  • examplebucketという名前のバケット内のexampleobject.pngという名前のオブジェクトに対して、tagkey1#tagvalue1およびtagkey2#tagvalue2の2つのタグを設定します。

    . /ossutil64 object-tagging -- メソッドput oss:// examplebucket/exampleobject.txt tagkey1#tagvalue1 tagkey2#tagvalue2
  • examplebucketという名前のバケットで "test" プレフィックスを含むオブジェクトに対して、tagkey3#tagvalue3、tagkey4#tagvalue4、tagkey5#tagvalue5の3つのタグを設定します。

    . /ossutil64 object-tagging -- メソッドput oss:// examplebucket/test -r tagkey3#tagvalue3 tagkey4#tagvalue4 tagkey5#tagvalue5
  • examplebucketという名前のバケットで、exampleobject.txtという名前のオブジェクトの指定されたバージョンに対して、キーがtagkey6、値がtagvalue6のタグを設定します。

    . /ossutil64 object-tagging -- メソッドput oss:// examplebucket/exampleobject.txt tagkey6#tagvalue6 -- version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3 ****

    オブジェクトのすべてのバージョンをクエリする方法の詳細については、「Is」をご参照ください。

  • 上記のサンプルコマンドが成功すると、次の同様の出力が返され、タグ付けの設定に使用された時間が示されます。

    0.106852経過

オブジェクトタグの照会

バケット内のオブジェクトのタグを照会できるのは、バケットの所有者とGetObjectTagging権限を持つRAMユーザーだけです。

次の例は、オブジェクトのタグを照会する方法を示しています。

  • オブジェクトのタグの照会

    examplebucketという名前のバケット内のexampleobject.txtという名前のオブジェクトのタグを照会します。

    . /ossutil64 object-tagging -- メソッドget oss:// examplebucket/exampleobject.txt

    次の出力結果は、exampleobject.txtのタグのkeyがtagkeyで値がtagvalueであることを示しています。

    オブジェクトインデックスタグインデックスタグキータグ値オブジェクト
    ---------------------------------------------------------------------------
    1 0 "tagkey" "tagvalue" oss:// examplebucket/exampleobject.txt
    
    0.068156経過 
  • 複数のオブジェクトのタグを照会します。

    examplebucketという名前のバケット内の "test" プレフィックスを含むすべてのオブジェクトのタグを照会します。

    . /ossutil64 object-tagging -- メソッドget oss:// examplebucket/test -r

    次の出力結果は、名前に "test" プレフィックスを含むオブジェクトに、tagkey3#tagvalue3、tagkey4#tagvalue4、tagkey5#tagvalue5の3つのタグがあることを示しています。

    オブジェクトインデックスタグインデックスタグキータグ値オブジェクト
    ---------------------------------------------------------------------------
    1 0 "tagkey3" "tagvalue3" oss:// examplebucket/test
    1 "tagkey4" "tagvalue4" oss:// examplebucket/test
    1 2 "tagkey5" "tagvalue5" oss:// examplebucket/test
    
    0.093040経過 

オブジェクトタグの削除

バケット内のオブジェクトのタグを削除できるのは、バケットの所有者とDeleteObjectTagging権限を持つRAMユーザーだけです。

次の例は、オブジェクトのタグを削除する方法を示しています。

  • オブジェクトのタグを削除する

    次のコマンドを実行すると、examplebucketという名前のバケット内のexampleobject.txtという名前のオブジェクトのタグを削除できます。

    . /ossutil64 object-tagging -- メソッドdelete oss:// examplebucket/exampleobject.txt
  • 複数のオブジェクトのタグを削除する

    次のコマンドを実行すると、examplebucketという名前のバケット内の "test" プレフィックスを名前に含むすべてのオブジェクトのタグを削除できます。

    . /ossutil64 object-tagging -- メソッドdelete oss:// examplebucket/test -r
  • 上記のコマンドが成功すると、タグの削除に使用された時間を示す次のような出力が返されます。

    0.148970経過

一般的なオプション

ossutilを使用して別のリージョンにあるバケットに切り替える場合は、コマンドに -eオプションを追加して、指定したバケットがあるリージョンのエンドポイントを指定します。 ossutilを使用して別のAlibaba Cloudアカウントに属するバケットに切り替える場合、コマンドに -iオプションを追加して、指定されたアカウントのAccessKey IDを指定し、コマンドに -kオプションを追加して、指定されたアカウントのAccessKeyシークレットを指定します。

たとえば、次のコマンドを実行して、中国 (上海) リージョンにあり、別のAlibaba Cloudアカウントが所有するtestbucketという名前のバケット内のexample.pngという名前のオブジェクトに対して、キーがtagkey7で値がtagvalue7のタグを設定できます。

. /ossutil64 object-tagging -- メソッドput oss:// testbucket/exampletest.png tagkey7#tagvalue7 -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA **** -k 67DLVBkH7EamOjy2W5RVAHUY9H ****

mbコマンドの詳細については、「共通オプション」をご参照ください。