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

对象存储

复制全文
下载 pdf
向量桶
PutVectorBucketPolicy(TOS Vectors Python SDK)
复制全文
下载 pdf
PutVectorBucketPolicy(TOS Vectors Python SDK)
PutVectorBucketPolicy 接口用于设置向量桶的访问策略,本文介绍如何通过 TOS Vectors Python SDK 的 PutVectorBucketPolicy 接口更新或新增策略。​
注意事项​
  • 为了防止密钥泄露,本文示例代码需要从环境变量中读取 Access Key ID 和 Secret Access Key。因此使用 SDK 前,您需要配置长期访问凭证,详细介绍,请参见配置长期访问凭证。​
  • TOS Vectors Python SDK 支持使用临时访问凭证;也支持配置超时机制、重试策略等多种机制,您可以根据业务需求灵活设置,提升应用安全性,详细介绍,请参见常见配置场景。​
权限说明​
主账号默认拥有全部权限,但是 IAM 用户默认没有任何权限。如果您需要使用 IAM 用户执行 PutVectorBucketPolicy 操作,主账号需通过 IAM策略和桶策略为该 IAM 用户授予以下权限:tosvectors:PutVectorBucketPolicy​
代码示例​
设置向量桶的 IAM Policy​
​
# 设置向量桶的 IAM Policy​
import os​
import json​
import tos​
​
# 从环境变量获取 AK 和 SK 信息。​
ak = os.getenv("TOS_ACCESS_KEY")​
sk = os.getenv("TOS_SECRET_KEY")​
# your endpoint 和 your region 填写 Bucket 所在区域对应的 Endpoint。# 以华北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'​
# 获取账户ID​
account_id = os.getenv("TOS_ACCOUNT_ID")​
​
try:​
# 创建 VectorClient 对象,对向量的操作都通过 VectorClient 实现​
client = tos.VectorClient(ak, sk, endpoint, region)​
​
​
# 定义IAM策略,允许对向量桶的访问权限​
policy = {​
"Version": "2012-10-17",​
"Statement": [​
{​
"Effect": "Allow",​
"Principal": [account_id],​
"Action": "tosvectors:GetVectorBucket",​
"Resource": f"trn:tosvectors:{region}:{account_id}:bucket/{vector_bucket_name}",​
}​
],​
}​
​
# 将策略转换为JSON字符串​
policy_json = json.dumps(policy, indent=2)​
​
# 设置向量桶策略​
result = client.put_vector_bucket_policy(​
vector_bucket_name=vector_bucket_name, account_id=account_id, policy=policy_json​
)​
​
# 打印操作结果​
print("设置向量桶IAM Policy成功")​
print("Request ID:", result.request_id)​
print("Status Code:", result.status_code)​
​
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))​
​
​
相关文档​
关于 PutVectorBucketPolicy 的 API 文档,请参见 PutVectorBucketPolicy。​
​
最近更新时间:2026.10.19 16:24:43
这个页面对您有帮助吗?
有用
有用
无用
无用