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

向量数据库VikingDB

复制全文
下载 pdf
库管理
DeleteOpenVikingCollection - 删除库
复制全文
下载 pdf
DeleteOpenVikingCollection - 删除库

DeleteOpenVikingCollection 用于删除指定的 OpenViking 库。
调用时,通过 ResourceID 指定待删除的库。该值可从创建库接口的响应或库信息页面获取。

说明

注意:
删除前请核对 ResourceID,确认目标库已不再使用,避免影响依赖该库的业务。可先调用 GetOpenVikingCollection,核对库名称及其他信息后再执行删除。

前置条件
  1. 已获取火山引擎 AK/SK,用于请求签名。
  2. 调用者具备目标 OpenViking 库的删除权限。
  3. 已获取待删除库的 ResourceID。

请求接口

Action

DeleteOpenVikingCollection

请求方法

POST

Content-Type

application/json

请求参数

字段

类型

必填

说明

ResourceID

string

是

库 ID,填写创建库接口返回的 Result.ResourceID,或从库信息页面获取

响应参数

字段

类型

说明

Success

bool

删除操作是否成功,true 表示成功

常见错误码

HTTP 状态码

错误码

说明

400

InvalidParameter

请求参数格式错误或校验不通过,具体原因见错误消息

400

MissingParameter

缺少必填参数

401

AuthenticationError

请求签名缺失或无效

403

AuthenticationError

身份校验失败

403

AccessDenied

当前账号无权删除目标库

404

ResourceNotExist

指定的库不存在

429

QuotaExceeded

超出配额或触发限流

500

InternalError

服务内部错误

完整示例

请求示例

import os
import datetime
import hashlib
import hmac
from urllib.parse import quote

import requests, json

def norm_query(params):
    query = ""
    for key in sorted(params.keys()):
        if type(params[key]) == list:
            for k in params[key]:
                query = (
                        query + quote(key, safe="-_.~") + "=" + quote(k, safe="-_.~") + "&"
                )
        else:
            query = (query + quote(key, safe="-_.~") + "=" + quote(params[key], safe="-_.~") + "&")
    query = query[:-1]
    return query.replace("+", "%20")

def hmac_sha256(key: bytes, content: str):
    return hmac.new(key, content.encode("utf-8"), hashlib.sha256).digest()

def hash_sha256(content: str):
    return hashlib.sha256(content.encode("utf-8")).hexdigest()

class ClientForConsoleApi:
    def __init__(self, ak, sk, host, region):
        self.ak = ak
        self.sk = sk
        self.host = host
        self.region = region
        self.service_code = "vikingdb"
        self.version = "2025-06-09"

    def request(self, method, action, body, query=None, header=None):
        if query is None:
            query = {}
        if header is None:
            header = {}
        credential = {
            "access_key_id": self.ak,
            "secret_access_key": self.sk,
            "service": self.service_code,
            "region": self.region,
        }
        request_param = {
            "body": json.dumps(body),
            "host": self.host,
            "path": "/",
            "method": method,
            "content_type": 'application/json',
            "date": datetime.datetime.utcnow(),
            "query": {"Action": action, "Version": self.version, **query},
        }
        if body is None:
            request_param["body"] = ""
        x_date = request_param["date"].strftime("%Y%m%dT%H%M%SZ")
        short_x_date = x_date[:8]
        x_content_sha256 = hash_sha256(request_param["body"])
        sign_result = {
            "Host": request_param["host"],
            "X-Content-Sha256": x_content_sha256,
            "X-Date": x_date,
            "Content-Type": request_param["content_type"],
        }
        signed_headers_str = ";".join(
            ["content-type", "host", "x-content-sha256", "x-date"]
        )
        canonical_request_str = "\n".join(
            [request_param["method"].upper(),
             request_param["path"],
             norm_query(request_param["query"]),
             "\n".join(
                 [
                     "content-type:" + request_param["content_type"],
                     "host:" + request_param["host"],
                     "x-content-sha256:" + x_content_sha256,
                     "x-date:" + x_date,
                 ]
             ),
             "",
             signed_headers_str,
             x_content_sha256,
             ]
        )

        hashed_canonical_request = hash_sha256(canonical_request_str)
        credential_scope = "/".join([short_x_date, credential["region"], credential["service"], "request"])
        string_to_sign = "\n".join(["HMAC-SHA256", x_date, credential_scope, hashed_canonical_request])

        k_date = hmac_sha256(credential["secret_access_key"].encode("utf-8"), short_x_date)
        k_region = hmac_sha256(k_date, credential["region"])
        k_service = hmac_sha256(k_region, credential["service"])
        k_signing = hmac_sha256(k_service, "request")
        signature = hmac_sha256(k_signing, string_to_sign).hex()

        sign_result["Authorization"] = "HMAC-SHA256 Credential={}, SignedHeaders={}, Signature={}".format(
            credential["access_key_id"] + "/" + credential_scope,
            signed_headers_str,
            signature,
        )
        header = {**header, **sign_result}
        r = requests.request(method=method,
                             url="https://{}{}".format(request_param["host"], request_param["path"]),
                             headers=header,
                             params=request_param["query"],
                             data=request_param["body"],
                             )
        return r.status_code, r.headers, r.json()

if __name__ == '__main__':
    client = ClientForConsoleApi(
        ak = "*",#替换为您的 AK
        sk ="*" ,#替换为您的 SK
        host="vikingdb.cn-beijing.volcengineapi.com", #替换为您所在地区的域名
        region="cn-beijing"
    )
    http_code, _, result_json = client.request(
        method="POST",
        action="DeleteOpenVikingCollection",#action替换为当前操作
        body={
          "ResourceID": "ov-20250609ab--ef01"
        }
    )
    print("req http status code: ", http_code)
    print("req result: \n", result_json)

响应示例

{
  "ResponseMetadata": {
    "RequestId": "202506091030001A2B3C4D5E6F",
    "Action": "DeleteOpenVikingCollection",
    "Version": "2025-06-09",
    "Service": "vikingdb",
    "Region": "cn-beijing"
  },
  "Result": {
    "Success": true
  }
}
最近更新时间:2026.09.10 22:39:11
这个页面对您有帮助吗?
有用
有用
无用
无用