不要になったオブジェクトタグは削除できます。バケットでバージョン管理が有効になっている場合、Object Storage Service (OSS) はデフォルトで現在のオブジェクトバージョンのタグを削除します。特定のバージョンのタグを削除するには、オブジェクトのバージョン ID を指定する必要があります。
注意事項
このトピックでは、中国 (杭州) リージョンのパブリックエンドポイントを使用します。OSS と同じリージョンにある他の Alibaba Cloud サービスから OSS にアクセスする場合は、内部エンドポイントを使用します。OSS のリージョンとエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。
このトピックでは、OSS エンドポイントを使用して OSSClient インスタンスを作成します。カスタムドメイン名または Security Token Service (STS) を使用して OSSClient インスタンスを作成する場合は、「初期化」をご参照ください。
オブジェクトタグを削除するには、
oss:DeleteObjectTagging権限が必要です。詳細については、「RAM ユーザーへのカスタムポリシーのアタッチ」をご参照ください。
オブジェクトタグの削除
バケットでバージョン管理が無効になっている場合は、オブジェクトタグを削除できます。バージョン管理が有効になっている場合、OSS はデフォルトで現在のオブジェクトバージョンのタグを削除します。
次のコードは、examplebucket バケットの exampledir フォルダにある exampleobject.txt オブジェクトのオブジェクトタグを削除する方法を示しています。
# -*- coding: utf-8 -*-
import oss2
from oss2.models import Tagging, TaggingRule
from oss2.credentials import EnvironmentVariableCredentialsProvider
# 環境変数からアクセス認証情報を取得します。このサンプルコードを実行する前に、環境変数 OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET が設定されていることを確認してください。
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
# バケットが所在するリージョンのエンドポイントを指定します。たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# エンドポイントに対応するリージョン情報 (例: cn-hangzhou) を指定します。このパラメーターは V4 署名に必要です。
region = "cn-hangzhou"
# examplebucket をご利用のバケット名に設定します。
bucket = oss2.Bucket(auth, endpoint, "examplebucket", region=region)
# オブジェクトの完全なパスを指定します。完全なパスにバケット名を含めることはできません。例: exampledir/exampleobject.txt
object_name = 'exampledir/exampleobject.txt'
# オブジェクトタグを削除します。
result = bucket.delete_object_tagging(object_name)
print('http response status: ', result.status)特定のオブジェクトバージョンのタグの削除
バケットでバージョン管理が有効になっている場合、バージョン ID を指定することで、特定のオブジェクトバージョンのタグを削除できます。
次のコードは、examplebucket バケットの exampledir フォルダにある exampleobject.txt オブジェクトの特定のバージョンのタグを削除する方法を示しています。
バージョン ID の取得方法の詳細については、「オブジェクトのリスト (Python SDK V1)」をご参照ください。
# -*- coding: utf-8 -*-
import oss2
from oss2.models import Tagging
from oss2.credentials import EnvironmentVariableCredentialsProvider
# 環境変数からアクセス認証情報を取得します。このサンプルコードを実行する前に、環境変数 OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET が設定されていることを確認してください。
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
# バケットが所在するリージョンのエンドポイントを指定します。たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# エンドポイントに対応するリージョン情報 (例: cn-hangzhou) を指定します。このパラメーターは V4 署名に必要です。
region = "cn-hangzhou"
# examplebucket をご利用のバケット名に設定します。
bucket = oss2.Bucket(auth, endpoint, "examplebucket", region=region)
# オブジェクトの完全なパスを指定します。完全なパスにバケット名を含めることはできません。例: exampledir/exampleobject.txt
object_name = 'exampledir/exampleobject.txt'
# オブジェクトのバージョン ID を指定します。
version_id = 'CAEQMxiBgICAof2D0BYiIDJhMGE3N2M1YTI1NDQzOGY5NTkyNTI3MGYyMzJm****'
params = dict()
params['versionId'] = version_id
bucket.delete_object_tagging(object_name, params=params)関連ドキュメント
オブジェクトタグの削除に関する完全なサンプルコードについては、「GitHub の例」をご参照ください。
オブジェクトタグを削除するための API 操作の詳細については、「DeleteObjectTagging」をご参照ください。