You need to enable JavaScript to run this app.
文档中心
向量数据库VikingDB

向量数据库VikingDB

复制全文
下载 pdf
数据(Data)
update_data
复制全文
下载 pdf
update_data

概述

/collection/update_data 接口用于为已存在数据的部分字段进行更新。支持 text、标量字段、vector 字段的更新。

请求接口

请求向量数据库 VikingDB 的 OpenAPI 接口时,需要构造签名进行鉴权,详细的 OpenAPI 签名调用方法请参见 API签名调用指南。

URI

/api/collection/update_data

统一资源标识符

请求方法

POST

客户端对向量数据库服务器请求的操作类型

请求头

Content-Type: application/json

请求消息类型

Authorization: HMAC-SHA256 ***

鉴权

请求参数

参数名

类型

必选

备注

collection_name/collection_alias

string

是

collection名

resource_id

string

否

资源ID;资源 ID 可通过相应资源的创建接口返回结果获取,也可在资源详情中查看。

fields

array

是

单次写入的数据数目不超过100(考虑性能问题)
每条数据作为一个map,key为字段名,value为字段值,不同字段类型的字段值格式如下:

  • int64:格式是整型数值。
  • float:格式是浮点数值。
  • string:格式是字符串。
  • bool:格式是 true/false。
  • list:格式是字符串数组。
  • list:格式是整型数组。
  • vector:格式是向量(浮点数数组)。
  • sparse_vector:格式是 json 字典,k 为 string 类型,表示关键词的字面量,v 为 float 类型,表示该关键词的权重数值。
  • text:格式是 string。
  • image:当前支持写入tos路径。格式为tos://{bucket}/{object_key}。tos和VikingDB的region需要保持一致。

ttl

int32

否

更新后的数据生存时间,单位为秒,取值范围 [0, 2147483647]。不传时保持原 TTL,传 0 表示数据不过期。

need_token_usage

bool

否

返回tokens消耗信息

响应消息

参数

参数说明

code

状态码

message

返回信息

状态码说明

code

message

备注

http status_code

0

success

成功

200

1000005

collection not exist

Collection不存在

400

1000003

invalid request:%s

非法参数

  • 缺失必选参数
  • 字段值与字段类型不匹配

400

1000001

unauthorized

缺乏鉴权信息

401

1000002

no permission

权限不足

403

1000011

data not found

数据不存在

400

完整示例

请求消息

curl -i -X POST \
  -H 'Content-Type: application/json' \
  -H 'Authorization: HMAC-SHA256 ***' \
  https://api-vikingdb.volces.com/api/collection/update_data \
  -d '{
    "collection_name": "test_collection",
    "fields": [
        {
            "id": 1,
            "author": "Updated Author Name"
        },
    ],
}'

响应消息

执行成功返回:

HTTP/1.1 200 OK
Content-Length: 43
Content-Type: application/json
 
{"code":0,"message":"success"}

执行失败返回:

HTTP/1.1 400 OK
Content-Length: 43
Content-Type: application/json
 
{"code":1000011,"message":"primary key 2 data not exist","request_id":"02173469631705400000000000000000000ffff0a006429651395"}

参数说明补充

ttl 类型为 int32,取值范围 [0, 2147483647]。不传时不更新原 TTL;传 0 时将数据设置为不过期。

参数说明补充

need_token_usage 为可选 Boolean,默认值为 false。省略或传 false 时不要求返回模型 Token 用量。

错误处理补充

常见错误处理建议

错误码处理建议
1000001检查 AK/SK、签名时间和 Authorization 请求头,并按 API 签名调用指南重新生成签名。
1000002检查 IAM 用户是否具有目标项目和 VikingDB 资源权限,缺少权限时由管理员授权。
1000003根据错误消息检查必填参数、类型、枚举值和数值范围。
1000005检查 collection_name 是否拼写正确、是否位于当前项目且尚未删除。
1000008检查 index_name 是否正确、索引是否已创建并处于可用状态。
1000011检查数据主键是否存在于目标 Collection;不存在时先写入数据。

完整触发条件参见向量库 V1 错误码。

参数说明补充

need_token_usage=true 时,请求模型向量化用量;只有实际发生向量化且模型返回用量时,响应才包含 token_usage。false 或省略时不返回用量信息。token_usage 为 Map,可含 prompt_tokens、completion_tokens、image_tokens、total_tokens(均为 int64),实际字段取决于模型与输入模态。

最近更新时间:2026.09.08 15:30:02
这个页面对您有帮助吗?
有用
有用
无用
无用