该文档是对数据面API请求过程的概述,在使用 API 接口前,需先做好以下准备工作。
同时介绍响应体的公共参数,供用户在调用时参考。
通过 注册账号及开通服务 页面操作,完成注册账号及开通服务。
在调用火山引擎向量数据库 VikingDB 的各个能力之前,确保您已生成访问密钥 Access Key。
Access Key 包括 Access Key ID(简称为 AK) 和 Access Key Secret(简称为 SK)。其中,AK用于标识用户,SK用于验证用户的密钥,请您妥善保管。
AK/SK 密钥获取方式如下,更多详情请参考 Access Key(密钥)管理。
注意
安全起见,建议新建子账户,并使用子账户的 AK/SK。
签名是 API 请求中的一串经过计算得到的编码字符串,它用于身份认证和防止数据被篡改。
签名不像ak、sk,每个请求的签名都是独立且临时的,一个签名只能用于一次特定的请求,不能长期固定使用。
在下面调用示例中prepare_request即为鉴权函数。
调用在数据集中点查的接口示例
说明:运行该示例请填入ak sk、host、action和body,其中action和body见接口文档。
""" pip3 install volcengine """ import os from volcengine.auth.SignerV4 import SignerV4 from volcengine.Credentials import Credentials from volcengine.base.Request import Request import requests, json class ClientForDataApi: def __init__(self, ak, sk, host): self.ak = ak self.sk = sk self.host = host def prepare_request(self, method, path, params=None, data=None): r = Request() r.set_shema("https") r.set_method(method) r.set_connection_timeout(10) r.set_socket_timeout(10) mheaders = { 'Accept': 'application/json', 'Content-Type': 'application/json', 'Host': self.host, } r.set_headers(mheaders) if params: r.set_query(params) r.set_host(self.host) r.set_path(path) if data is not None: r.set_body(json.dumps(data)) credentials = Credentials(self.ak, self.sk, 'vikingdb', 'cn-beijing') SignerV4.sign(r, credentials) return r def do_req(self, req_method, req_path, req_params, req_body): req = self.prepare_request(method=req_method, path=req_path, params=req_params, data=req_body) return requests.request(method=req.method, url="http://{}{}".format(self.host, req.path), headers=req.headers, data=req.body, timeout=10000) if __name__ == '__main__': client = ClientForDataApi( ak = "*",#替换为您的ak sk = "*",#替换为您的sk host = "api-vikingdb.vikingdb.cn-beijing.volces.com",#替换为您所在的域名 ) req_method = "POST" req_params = None req_path = "/api/vikingdb/data/fetch_in_collection"#替换为当前操作url req_body = { "collection_name": "my_collection", #替换为当前参数 'ids': [1, 2, -1] } result = client.do_req(req_method=req_method, req_path=req_path, req_params=req_params, req_body=req_body) print("req http status code: ", result.status_code) print("req result: \n", result.text)
Region名称 | 域名 |
|---|---|
cn-beijing | api-vikingdb.vikingdb.cn-beijing.volces.com |
cn-shanghai | api-vikingdb.vikingdb.cn-shanghai.volces.com |
cn-guangzhou | api-vikingdb.vikingdb.cn-guangzhou.volces.com |
参数名 | 类型 | 说明 |
|---|---|---|
request_id | string | 请求id |
code | string | 操作状态码。成功则为"Success",否则为错误码短语。遵循"Xxx"或"Xxx.Yyy"格式。 |
message | string | 操作执行信息。成功则为"The API call was executed successfully.",否则为错误信息。遵循完整的英文语句表达。 |
result | map | 如果操作没有结果或不需要结果,则返回的 result = null |