您可以根据需要删除不需要的标签信息。当存储空间(Bucket)已开启版本控制时,OSS默认只删除Object当前版本的标签信息,您可以通过指定Object的版本ID(versionId)来删除Object指定版本标签信息。
注意事项
- 本文以华东1(杭州)外网Endpoint为例。如果您希望通过与OSS同地域的其他阿里云产品访问OSS,请使用内网Endpoint。关于OSS支持的Region与Endpoint的对应关系,请参见访问域名和数据中心。
- 本文以OSS域名新建OSSClient为例。如果您希望通过自定义域名、STS等方式新建OSSClient,请参见Python初始化。
-
要删除对象标签,您必须具有
oss:DeleteObjectTagging
权限。具体操作,请参见为RAM用户授权自定义的权限策略。
删除Object标签信息
当存储空间(Bucket)未开启版本控制时,您可以根据需要删除Object标签信息。当Bucket已开启版本控制时,OSS默认只删除Object当前版本标签信息。
以下代码用于删除目标存储空间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.ProviderAuth(EnvironmentVariableCredentialsProvider())
# yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
# 填写Bucket名称。
bucket = oss2.Bucket(auth, 'https://oss-cn-hangzhou.aliyuncs.com', 'examplebucket')
# 填写Object完整路径,Object完整路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。
object_name = 'exampledir/exampleobject.txt'
# 删除Object标签信息。
result = bucket.delete_object_tagging(object_name)
print('http response status: ', result.status)
删除Object指定版本标签信息
当Bucket已开启版本控制时,通过指定Object的版本ID,您可以删除Object指定版本的对象标签。
以下代码用于删除目标存储空间examplebucket中exampledir目录下的exampleobject.txt文件指定版本的对象标签信息。
说明 关于获取versionId的具体操作,请参见Python列举文件。
# -*- 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.ProviderAuth(EnvironmentVariableCredentialsProvider())
# yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
# 填写Bucket名称。
bucket = oss2.Bucket(auth, 'https://oss-cn-hangzhou.aliyuncs.com', 'examplebucket')
# 填写Object完整路径,Object完整路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。
object_name = 'exampledir/exampleobject.txt'
# 填写Object的版本ID。
version_id = 'CAEQMxiBgICAof2D0BYiIDJhMGE3N2M1YTI1NDQzOGY5NTkyNTI3MGYyMzJm****'
params = dict()
params['versionId'] = version_id
bucket.delete_object_tagging(object_name, params=params)
相关文档
-
关于删除对象标签的完整示例代码,请参见GitHub示例。
-
关于删除对象标签的API接口说明,请参见DeleteObjectTagging。
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/158211.html