接口介绍
MetadataClient 提供以下用户密钥管理接口,用于管理用户的 API 密钥(User Key)。密钥用于用户级鉴权,支持创建、查询、吊销和更新操作。
create_user_key:为指定用户创建新的 API 密钥。
list_user_keys:列出用户的全部密钥。
get_user_key:查询单个密钥的详细信息。
revoke_user_key:吊销密钥,使其立即失效。
update_user_key:更新密钥的名称等属性信息。
导入
from tencentdb_agent_memory.v3 import MetadataClient
方法签名
def create_user_key(self, p: Dict[str, Any]) -> Dict[str, Any]
def list_user_keys(self,user_id_or_request: Union[str, Dict[str, Any], None] = None,*,pagination: Optional[Dict[str, Any]] = None,) -> Dict[str, Any]
def get_user_key(self, key_id: str) -> Dict[str, Any]
def revoke_user_key(self, key_id: str) -> Dict[str, Any]
def update_user_key(self, p: Dict[str, Any]) -> Dict[str, Any]
使用示例
create_user_key
from tencentdb_agent_memory.v3 import MetadataClientmetadata = MetadataClient(endpoint="https://memory.tdai.tencentyun.com",api_key="sk-xxxxxxxxxxxxxxxx",service_id="tdai-mem-xxxxxxxx",)resp = metadata.create_user_key({"user_id": "user-123","name": "default",})print(resp["key_id"])
list_user_keys
resp = metadata.list_user_keys("user-123")for key in resp["items"]:print(key["key_id"], key["name"])
get_user_key
resp = metadata.get_user_key("key-abc")print(resp)
revoke_user_key
resp = metadata.revoke_user_key("key-abc")print(resp)
update_user_key
resp = metadata.update_user_key({"key_id": "key-abc","name": "renamed-key",})print(resp)
请求参数
create_user_key
参数名 | 类型 | 必填 | 描述说明 |
user_id | str | 是 | 目标用户 ID |
name | str | 是 | 密钥名称,用于标识和区分不同密钥 |
list_user_keys
参数名 | 类型 | 必填 | 描述说明 |
user_id | str 或 Dict | 是 | 用户 ID 或包含 user_id 的请求参数 |
get_user_key
参数名 | 类型 | 必填 | 描述说明 |
key_id | str | 是 | 密钥 ID |
revoke_user_key
参数名 | 类型 | 必填 | 描述说明 |
key_id | str | 是 | 待吊销的密钥 ID |
update_user_key
参数名 | 类型 | 必填 | 描述说明 |
key_id | str | 是 | 密钥 ID |
name | str | 否 | 更新后的密钥名称 |
响应示例
create_user_key
{"key_id": "key-550e8400-e29b-41d4-a716-446655440000","user_id": "user-123","name": "default","secret": "sk-mem-xxxxxxxxxxxxxxxxxxxx","created_at_ms": 1723968000000}
get_user_key
{"key_id": "key-abc","user_id": "user-123","name": "default","status": "active","created_at_ms": 1723900000000,"updated_at_ms": 1723968000000}
list_user_keys
{"items": [{"key_id": "key-abc","name": "default","status": "active","created_at_ms": 1723900000000}]}
响应参数说明
参数名 | 类型 | 参数含义 |
key_id | str | 密钥唯一标识 ID |
user_id | str | 所属用户 ID |
name | str | 密钥名称 |
secret | str | 密钥明文(仅在创建时返回一次,后续不可查看) |
status | str | 密钥状态,如 active、revoked |
created_at_ms | int | 创建时间,Unix 时间戳,单位为毫秒 |
updated_at_ms | int | 最后更新时间,Unix 时间戳,单位为毫秒 |
错误码
错误码 | 触发场景 | 处理建议 |
400 | 请求参数不合法(如 user_id 为空) | 检查参数是否符合约束条件 |
401 | API Key 无效或缺失 | 检查 Bearer Token 配置 |
404 | 指定密钥不存在 | 确认 key_id 是否正确 |
409 | 密钥已被吊销,不可重复操作 | 检查密钥状态 |
500 | 服务内部错误 | 稍后重试 |