接口介绍
MetadataClient 提供以下资产管理接口,用于管理共享资产资源。资产可以是文档、数据集等可被 Agent 和用户访问的内容。
create_asset:创建资产。
get_asset:按资产 ID 查询详细信息。
update_asset:更新资产属性。
delete_assets:批量删除资产。
list_assets:按条件列表查询资产。
list_accessible_assets:查询用户可访问的资产列表。
touch_asset_usage:标记资产最近使用时间。
导入
from tencentdb_agent_memory.v3 import MetadataClient
方法签名
def create_asset(self, p: Dict[str, Any]) -> Dict[str, Any]
def get_asset(self, asset_id: str) -> Dict[str, Any]
def update_asset(self, p: Dict[str, Any]) -> Dict[str, Any]
def delete_assets(self, asset_ids: List[str]) -> Dict[str, Any]
def list_assets(self, p: Dict[str, Any]) -> Dict[str, Any]
def list_accessible_assets(self, p: Dict[str, Any]) -> Dict[str, Any]
def touch_asset_usage(self, asset_id: str) -> Dict[str, Any]
使用示例
create_asset
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_asset({"name": "数据字典 v2.0", # 必填,资产名称"team_id": "team-abc", # 必填,所属团队 ID"type": "document", # 可选,资产类型,如 document、dataset"description": "项目数据字典文档", # 可选,资产描述"metadata": {"version": "2.0"}, # 可选,自定义元数据})print(resp)
get_asset
# 传入资产 ID(str)resp = metadata.get_asset("asset-456")print(resp)
update_asset
resp = metadata.update_asset({"asset_id": "asset-456", # 必填,待更新的资产 ID"name": "数据字典 v2.1", # 可选,更新后的名称"description": "更新说明", # 可选,更新后的描述"metadata": {"version": "2.1"}, # 可选,更新自定义元数据})print(resp)
list_assets
resp = metadata.list_assets({"team_id": "team-abc", # 可选,按团队筛选"type": "document", # 可选,按资产类型筛选"limit": 20, # 可选,分页大小"offset": 0, # 可选,分页偏移})for asset in resp["items"]:print(asset["name"])
list_accessible_assets
resp = metadata.list_accessible_assets({"user_id": "user-123", # 必填,用户 ID"team_id": "team-abc", # 可选,按团队筛选"limit": 50, # 可选,分页大小"offset": 0, # 可选,分页偏移})for asset in resp["items"]:print(asset["name"])
touch_asset_usage
# 传入资产 ID(str),标记最近使用时间resp = metadata.touch_asset_usage("asset-456")print(resp)
delete_assets
# 传入资产 ID 列表(List[str]),批量删除resp = metadata.delete_assets(["asset-456", "asset-789"])print(resp)
请求参数
create_asset
参数名 | 类型 | 必填 | 描述说明 |
name | str | 是 | 资产名称 |
team_id | str | 是 | 所属团队 ID |
type | str | 否 | 资产类型,如 document、dataset |
get_asset
参数名 | 类型 | 必填 | 描述说明 |
asset_id | str | 是 | 资产 ID |
update_asset
参数名 | 类型 | 必填 | 描述说明 |
asset_id | str | 是 | 待更新的资产 ID |
name | str | 否 | 更新后的名称 |
delete_assets
参数名 | 类型 | 必填 | 描述说明 |
asset_ids | List[str] | 是 | 待删除的资产 ID 列表 |
list_assets
参数名 | 类型 | 必填 | 描述说明 |
payload | Dict | 是 | 查询条件,含 team_id 等字段 |
list_accessible_assets
参数名 | 类型 | 必填 | 描述说明 |
user_id | str | 是 | 用户 ID |
limit | int | 否 | 返回结果数量上限 |
touch_asset_usage
参数名 | 类型 | 必填 | 描述说明 |
asset_id | str | 是 | 资产 ID |
响应示例
create_asset
{"asset_id": "asset-550e8400-e29b-41d4-a716-446655440000","name": "数据字典 v2.0","team_id": "team-abc","type": "document","created_at_ms": 1723968000000}
get_asset
{"asset_id": "asset-456","name": "数据字典 v2.0","team_id": "team-abc","type": "document","created_at_ms": 1723900000000,"updated_at_ms": 1723968000000,"last_used_at_ms": 1723950000000}
list_assets
{"items": [{"asset_id": "asset-456","name": "数据字典 v2.0","type": "document","created_at_ms": 1723900000000}],"total": 1}
响应参数说明
参数名 | 类型 | 参数含义 |
asset_id | str | 资产唯一标识 ID |
name | str | 资产名称 |
team_id | str | 所属团队 ID |
type | str | 资产类型 |
created_at_ms | int | 创建时间,Unix 时间戳,单位为毫秒 |
updated_at_ms | int | 最后更新时间,Unix 时间戳,单位为毫秒 |
last_used_at_ms | int | 最后使用时间,Unix 时间戳,单位为毫秒 |
items | List[Dict] | 资产列表 |
total | int | 符合条件的资产总数 |
错误码
错误码 | 触发场景 | 处理建议 |
400 | 请求参数不合法(如 name 为空) | 检查参数是否符合约束条件 |
401 | API Key 无效或缺失 | 检查 Bearer Token 配置 |
404 | 指定资产不存在 | 确认资产 ID 是否正确 |
500 | 服务内部错误 | 稍后重试 |