You need to enable JavaScript to run this app.
文档中心
对象存储

对象存储

复制全文
下载 pdf
向量桶
ListVectorBuckets(TOS Vectors Python SDK)
复制全文
下载 pdf
ListVectorBuckets(TOS Vectors Python SDK)
list_vector_buckets 接口用于列举向量桶,本文介绍如何通过 TOS Vectors Python SDK 的 list_vector_buckets 接口列举向量桶。​
注意事项​
  • 为了防止密钥泄露,本文示例代码需要从环境变量中读取 Access Key ID 和 Secret Access Key。因此使用 SDK 前,您需要配置长期访问凭证,详细介绍,请参见 配置长期访问凭证。​
  • TOS Vectors Python SDK 支持使用临时访问凭证;也支持配置超时机制、重试策略等多种机制,您可以根据业务需求灵活设置,提升应用安全性,详细介绍,请参见 常见配置场景。​
权限说明​
主账号默认拥有全部权限,但是 IAM 用户默认没有任何权限。如果您需要使用 IAM 用户执行 list_vector_buckets 操作,主账号需通过 IAM策略和桶策略为该 IAM 用户授予以下权限:tosvectors:ListVectorBuckets​
代码示例​
分页列举向量存储桶​
​
# 分页列举向量存储桶​
import os​
import tos​
​
# 从环境变量获取 AK 和 SK 信息。​
ak = os.getenv('TOS_ACCESS_KEY')​
sk = os.getenv('TOS_SECRET_KEY')​
# your endpoint 填写 Bucket 所在区域对应的 Endpoint,your region 填写对应的区域 Region。# 以华北2(北京)为例,your endpoint 填写 https://tosvectors-cn-beijing.volces.com,your region 填写 cn-beijing。​
endpoint = 'Provide your endpoint'​
region = 'Provide your region'​
vector_bucket_name = 'Provide your bucket name'​
​
try:​
# 创建 VectorClient 对象,对向量的操作都通过 VectorClient 实现​
client = tos.VectorClient(ak, sk, endpoint, region)​
​
# 第一页:限制返回数量为 2 个存储桶​
page1 = client.list_vector_buckets(max_results=2)​
​
print("=== 第一页结果 ===")​
print(f"Request ID: {page1.request_id}")​
print(f"Status Code: {page1.status_code}")​
print(f"Max Results: 2")​
​
if page1.vector_buckets:​
print(f"Found {len(page1.vector_buckets)} vector buckets in first page:")​
for i, bucket in enumerate(page1.vector_buckets):​
print(f" {i+1}. Bucket Name: {bucket.vector_bucket_name}")​
print(f" Bucket TRN: {bucket.vector_bucket_trn}")​
else:​
print("No vector buckets found in first page.")​
​
# 如果有下一页,继续获取第二页​
if page1.next_token:​
print(f"\nNext Token: {page1.next_token}")​
print("\n=== 第二页结果 ===")​
​
# 使用 next_token 获取下一页结果​
page2 = client.list_vector_buckets(max_results=2, next_token=page1.next_token)​
​
print(f"Request ID: {page2.request_id}")​
print(f"Status Code: {page2.status_code}")​
​
if page2.vector_buckets:​
print(f"Found {len(page2.vector_buckets)} vector buckets in second page:")​
for i, bucket in enumerate(page2.vector_buckets):​
print(f" {i+1}. Bucket Name: {bucket.vector_bucket_name}")​
print(f" Bucket TRN: {bucket.vector_bucket_trn}")​
else:​
print("No vector buckets found in second page.")​
​
if page2.next_token:​
print(f"\nNext Token: {page2.next_token}")​
else:​
print("\n所有结果已在一页中显示完毕")​
​
except tos.exceptions.TosClientError as e:​
# 操作失败,捕获客户端异常,一般情况为非法请求参数或网络异常​
print('fail with client error, message:{}, cause: {}'.format(e.message, e.cause))​
except tos.exceptions.TosServerError as e:​
# 操作失败,捕获服务端异常,可从返回信息中获取详细错误信息​
print('fail with server error, code: {}'.format(e.code))​
# request id 可定位具体问题,强烈建议日志中保存​
print('error with request id: {}'.format(e.request_id))​
print('error with message: {}'.format(e.message))​
print('error with http code: {}'.format(e.status_code))​
print('error with ec: {}'.format(e.ec))​
print('error with request url: {}'.format(e.request_url))​
except Exception as e:​
print('fail with unknown error: {}'.format(e))​
​
带前缀过滤列举向量存储桶​
​
# 带前缀过滤列举向量存储桶​
import os​
import tos​
import time​
​
# 从环境变量获取 AK 和 SK 信息。​
ak = os.getenv('TOS_ACCESS_KEY')​
sk = os.getenv('TOS_SECRET_KEY')​
# your endpoint 填写 Bucket 所在区域对应的 Endpoint,your region 填写对应的 Region。# 以华北2(北京)为例,your endpoint 填写 https://tosvectors-cn-beijing.volces.com,your region 填写 cn-beijing。​
endpoint = 'Provide your endpoint'​
region = 'Provide your region'​
vector_bucket_name = 'Provide your bucket name'​
​
try:​
# 创建 VectorClient 对象,对向量的操作都通过 VectorClient 实现​
client = tos.VectorClient(ak, sk, endpoint, region)​
​
# 设置前缀过滤条件 - 这里使用演示前缀,实际使用时可以根据需要修改​
# 前缀过滤可以帮助您筛选出特定命名规则的存储桶​
prefix_filter = "test-"​
​
print(f"使用前缀过滤: '{prefix_filter}'")​
​
# 调用 list_vector_buckets 方法,使用前缀参数进行过滤​
result = client.list_vector_buckets(prefix=prefix_filter)​
​
# 打印请求基本信息​
print(f"\nRequest ID: {result.request_id}")​
print(f"Status Code: {result.status_code}")​
​
# 处理返回结果​
if result.vector_buckets:​
print(f"\n找到 {len(result.vector_buckets)} 个匹配前缀的向量存储桶:")​
for i, bucket in enumerate(result.vector_buckets):​
print(f" {i+1}. Bucket Name: {bucket.vector_bucket_name}")​
print(f" Bucket TRN: {bucket.vector_bucket_trn}")​
print(f" Creation Time: {bucket.creation_time}")​
​
# 验证存储桶名称确实以指定前缀开头​
if bucket.vector_bucket_name.startswith(prefix_filter):​
print(f" ✓ 名称验证通过: 以 '{prefix_filter}' 开头")​
else:​
print(f" ✗ 名称验证失败: 未以 '{prefix_filter}' 开头")​
else:​
print(f"\n未找到以 '{prefix_filter}' 为前缀的向量存储桶")​
print("您可以:")​
print("1. 检查是否存在匹配前缀的存储桶")​
print("2. 尝试其他前缀条件")​
print("3. 先创建一些带此前缀的存储桶进行测试")​
​
# 检查是否有下一页(即使有前缀过滤,结果也可能分页)​
if result.next_token:​
print(f"\nNext Token: {result.next_token}")​
print("有更多结果可用,可以使用 next_token 获取下一页")​
​
except tos.exceptions.TosClientError as e:​
# 操作失败,捕获客户端异常,一般情况为非法请求参数或网络异常​
print('fail with client error, message:{}, cause: {}'.format(e.message, e.cause))​
except tos.exceptions.TosServerError as e:​
# 操作失败,捕获服务端异常,可从返回信息中获取详细错误信息​
print('fail with server error, code: {}'.format(e.code))​
# request id 可定位具体问题,强烈建议日志中保存​
print('error with request id: {}'.format(e.request_id))​
print('error with message: {}'.format(e.message))​
print('error with http code: {}'.format(e.status_code))​
print('error with ec: {}'.format(e.ec))​
print('error with request url: {}'.format(e.request_url))​
except Exception as e:​
print('fail with unknown error: {}'.format(e))​
​
相关文档​
关于 ListVectorBuckets 的 API 文档,请参见 ListVectorBuckets。​
​
最近更新时间:2026.09.29 10:36:29
这个页面对您有帮助吗?
有用
有用
无用
无用