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個のタグを追加できます。 同じオブジェクトのタグには、一意のタグキーが必要です。 タグのキーは、次の規則に準拠している必要があります。
|
値 | 設定するタグの値。 タグの値は、次の規則に準拠している必要があります。
|
-- メソッド | リクエストのタイプ。 有効な値:
|
-- encoding-type | 完全なオブジェクトパスで |
-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コマンドの詳細については、「共通オプション」をご参照ください。