Object Storage Service (OSS) では、タグを使用してオブジェクトを分類できます。同じタグを持つオブジェクトを管理できます。たとえば、同じタグを持つオブジェクトの有効期間を指定したり、ストレージタイプを変換したりできます。object-tagging コマンドを実行して、オブジェクトタグを追加、変更、クエリ、または削除できます。
使用上の注意
オブジェクトタグを追加または変更するには、
oss:PutObjectTagging権限が必要です。オブジェクトタグをクエリするには、oss:GetObjectTagging権限が必要です。オブジェクトタグを削除するには、oss:DeleteObjectTagging権限が必要です。詳細については、「RAM ユーザーにカスタムポリシーをアタッチする」をご参照ください。
ossutil 1.6.16 以降では、コマンドラインでバイナリ名として ossutil を直接使用できます。オペレーティングシステムに基づいてバイナリ名を更新する必要はありません。 ossutil 1.6.16 より前のバージョンでは、オペレーティングシステムに基づいてバイナリ名を更新する必要があります。詳細については、「ossutil コマンドリファレンス」をご参照ください。
オブジェクトタグの詳細については、「オブジェクトにタグを付ける」をご参照ください。
コマンド構文
ossutil object-tagging oss://bucketname[/prefix][key#value]
--method <value>
[--encoding-type <value>]
[-r, --recursive]
[--payer <value>]
[--version-id <value>] 次の表は、構文のパラメーターとオプションについて説明しています。
パラメーター/オプション | 説明 |
bucketname | バケットの名前。 |
prefix | ディレクトリやオブジェクトなどのリソース名のプレフィックス。 |
key | タグのキー。タグはキーと値のペアです。各オブジェクトには最大 10 個のタグを追加できます。同じオブジェクトのタグには、一意のタグキーが必要です。タグのキーは、次の要件を満たしている必要があります。
|
value | タグの値。タグの値は、次の要件を満たしている必要があります。
|
--method | リクエストのタイプ。有効な値:
|
--encoding-type |
|
-r, --recursive | コマンドでこのオプションを指定すると、ossutil は、prefix パラメーターで指定されたプレフィックスを含む名前のすべてのオブジェクトのタグ付けを構成します。コマンドでこのオプションを指定しない場合、ossutil は、指定されたオブジェクトのタグ付けのみを構成します。 |
--version-id | オブジェクトのバージョン ID。このパラメーターは、バージョン管理が有効またはバージョン管理が一時停止されているバケットにのみ適用されます。 |
--payer | リクエストの支払者。指定されたパスにあるリソースにアクセスするリクエスト元に、操作によって発生するトラフィック料金やリクエスト料金などの料金を支払わせる場合は、このパラメーターを 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 シークレットを指定します。
たとえば、次のコマンドを実行して、中国 (上海) リージョンにあり、別の 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 yourAccessKeyID -k yourAccessKeySecret共通オプションの詳細については、「共通オプション」をご参照ください。