存储空间标签
您可以通过存储空间(Bucket)的标签功能, 对Bucket进行分类管理,如ListBucket时只显示带有指定标签的Bucket。
说明
- 只有Bucket的拥有者及授权子账户才能为Bucket设置用户标签,否则返回403 Forbidden错误,错误码:AccessDenied。
- 最多可设置20对Bucket用户标签(Key-Value对)。
- Key最大长度为64字节,不能以
http ://
、https://
、Aliyun
为前缀,且不能为空。 - Value最大长度为128字节,可以为空。
- Key和Value必须为UTF-8编码。
- PutBucketTagging是覆盖语义,即新设置的标签会完全覆盖已有的标签。
设置Bucket标签
以下代码用于设置Bucket标签:
# -*- coding: utf-8 -*-
import oss2
from oss2.models import Tagging, TaggingRule
# 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
# Endpoint以杭州为例,其它Region请按实际情况填写。
bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<yourBucketName>')
# 创建标签规则。
rule = TaggingRule()
rule.add('key1', 'value1')
rule.add('key2', 'value2')
# 创建标签。
tagging = Tagging(rule)
# 设置Bucket标签。
result = bucket.put_bucket_tagging(tagging)
# 查看HTTP返回码。
print('http status:', result.status)
获取Bucket标签
以下代码用于获取Bucket标签:
# -*- coding: utf-8 -*-
import oss2
# 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
# Endpoint以杭州为例,其它Region请按实际情况填写。
bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<yourBucketName>')
# 获取Bucket标签信息。
result = bucket.get_bucket_tagging()
# 查看获取到的标签规则。
tag_rule = result.tag_set.tagging_rule
print('tag rule:', tag_rule)
列举带指定标签的Bucket
以下代码用于列举带指定标签的Bucket:
# -*- coding: utf-8 -*-
import oss2
#创建Server对象。
#阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
# Endpoint以杭州为例,其它Region请按实际情况填写。
service = oss2.Service(auth, 'http://oss-cn-hangzhou.aliyuncs.com')
#填充tag-key,tag-value字段到list_buckets接口的params参数中。
params = {}
params['tag-key'] = '<yourTagging_key>'
params['tag-value'] = '<yourTagging_value>'
#列举出带指定标签的Bucket。
result = service.list_buckets(params=params)
#查看列举结果。
for bucket in result.buckets:
print('result bucket_name:', bucket.name)
删除Bucket标签
以下代码用于删除Bucket标签:
# -*- coding: utf-8 -*-
import oss2
# 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
# Endpoint以杭州为例,其它Region请按实际情况填写。
bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<yourBucketName>')
# 删除Bucket标签。
result = bucket.delete_bucket_tagging()
# 查看HTTP返回码。
print('http status:', result.status)
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论