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

Object Storage Service:オブジェクトのタグ付け

最終更新日:Aug 07, 2024

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個のタグを追加できます。 同じオブジェクトのタグには、一意のタグキーが必要です。 タグのキーは、次の要件に準拠している必要があります。

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

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

    +=._:/

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

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

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

    +=._:/

-- メソッド

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

  • put: オブジェクトにタグを追加するか、オブジェクトのタグを変更します。

  • get: オブジェクトのタグを照会します。

  • delete: オブジェクトのタグを削除します。

-- encoding-type

oss:// bucket_nameに続くプレフィックスをエンコードするために使用されるメソッド。 有効値: url このオプションを指定しない場合、プレフィックスはエンコードされません。

-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****

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