Object Storage Service (OSS) では、バケットを分類および管理するためにバケットタグを設定できます。たとえば、バケットタグ機能を使用して、特定のタグを持つバケットを一覧表示したり、特定のタグを持つバケットのアクセス制御リスト (ACL) を設定したりできます。このトピックでは、bucket-tagging コマンドを実行して、バケットタグを追加、変更、クエリ、または削除する方法について説明します。
注意事項
バケットタグを追加または変更するには、
oss:PutBucketTagging権限が必要です。バケットタグをクエリするには、oss:GetBucketTagging権限が必要です。バケットタグを削除するには、oss:DeleteBucketTagging権限が必要です。詳細については、「RAM ユーザーにカスタムポリシーをアタッチする」をご参照ください。
ossutil 1.6.16 以降では、コマンドラインでバイナリ名として ossutil を直接使用できます。オペレーティングシステムに基づいてバイナリ名を更新する必要はありません。 ossutil 1.6.16 より前のバージョンでは、オペレーティングシステムに基づいてバイナリ名を更新する必要があります。詳細については、「ossutil コマンドリファレンス」をご参照ください。
バケットタグの詳細については、「バケットタグを管理する」をご参照ください。
バケットにタグを追加する、またはバケットのタグを変更する
バケットタグ付けでは、キーと値のペアをタグとして使用してバケットを識別します。バケットオーナーと PutBucketTags 権限が付与されているユーザーのみが、バケットにタグを追加したり、バケットのタグを変更したりできます。他のユーザーがバケットにタグを追加したり、バケットのタグを変更したりすると、エラーコード AccessDenied で 403 Forbidden が返されます。
コマンド構文
ossutil bucket-tagging --method put oss://bucketname key#value次の表は、上記のパラメーターについて説明しています。
パラメーター
説明
bucketname
タグを追加するバケット、またはタグを変更するバケットの名前。
key#value
タグのキーと値のペア。
タグのキーと値はシャープ記号(#)で区切り、UTF-8 でエンコードする必要があります。
キーは最大 64 文字で、
http://、https://、またはAliyunプレフィックスを含めることはできません。キーを空にすることはできません。値は最大 128 文字です。値は空にすることができます。
コマンドで指定されたタグが存在しない場合、指定されたタグがバケットに追加されます。コマンドで指定されたタグが既に存在する場合、既存のタグは上書きされます。
例
次のサンプルコマンドは、examplebucket という名前のバケットに 2 つのタグを追加します。1 つのタグのキーは tag1、値は test1、もう 1 つのタグのキーは tag2、値は test2 です。
ossutil bucket-tagging --method put oss://examplebucket tag1#test1 tag2#test2次のサンプル出力は、タグが追加されたことを示しています。
0.300600(s) elapsed
バケットタグをクエリする
コマンド構文
ossutil bucket-tagging --method get oss://bucketname例
次のサンプルコマンドは、examplebucket という名前のバケットのタグをクエリします。
ossutil bucket-tagging --method get oss://examplebucket次のサンプル出力は、examplebucket バケットに 2 つのタグがあることを示しています。1 つはキーが tag1、値が test1、もう 1 つはキーが tag2、値が test2 です。
index tag key tag value --------------------------------------------------- 0 "tag1" "test1" 1 "tag2" "test2" 0.283359(s) elapsed
タグを削除する
コマンド構文
ossutil bucket-tagging --method delete oss://bucketname例
次のサンプルコマンドは、examplebucket という名前のバケットのすべてのタグを削除します。
説明ossutil を使用すると、バケットのすべてのタグを削除できます。 ossutil を使用してバケットの特定のタグのみを削除することはできません。バケットの特定のタグを削除するには、DeleteBucketTags オペレーションを呼び出します。
ossutil bucket-tagging --method delete oss://examplebucket次のサンプル出力は、examplebucket のすべてのタグが削除されたことを示しています。
0.530750(s) elapsed
共通オプション
ossutil を使用して別のリージョンにあるバケットに切り替える場合は、-e オプションを追加して、バケットがあるリージョンのエンドポイントを指定します。 ossutil を使用して別の Alibaba Cloud アカウントに属するバケットに切り替える場合は、-i オプションを追加して指定したアカウントの AccessKey ID を指定し、-k オプションを追加して指定したアカウントの AccessKey シークレットを指定します。
たとえば、次のコマンドを実行して、中国 (杭州) リージョンにあり、別の Alibaba Cloud アカウントが所有する examplebucket という名前のバケットのタグを設定できます。
ossutil bucket-tagging--method put oss://examplebucket key#value -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret共通オプションの詳細については、「共通オプション」をご参照ください。