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

向量数据库VikingDB

复制全文
下载 pdf
数据空间管理(Account)
DeleteOpenVikingAccount — 删除数据空间(企业版)
复制全文
下载 pdf
DeleteOpenVikingAccount — 删除数据空间(企业版)

DeleteOpenVikingAccount 用于删除指定 OpenViking 企业版库下的数据空间。
调用时,通过 ResourceID 指定所属库,通过 OpenVikingAccountID 指定待删除的数据空间。

注意

删除为级联操作且不可撤销:系统会清除该数据空间下的全部用户、鉴权凭证、记忆、资源、会话和技能。
默认数据空间 default 禁止删除。执行前,请确认目标数据空间已不再使用,并完成必要的数据备份。

前置条件
  1. 已获取火山引擎 AK/SK,用于请求签名,获取方式见 Access Key(密钥)管理。
  2. 目标库为企业版(enterprise),且调用者具备删除其数据空间的权限。
  3. 已获取目标库的 ResourceID 和待删除的数据空间名称 OpenVikingAccountID。可先调用 ListOpenVikingAccounts 核对数据空间信息。

请求接口

Action

CreateOpenVikingAccount

请求方法

POST

Content-Type

application/json

请求参数

字段

类型

必填

填写说明

ResourceID

string

是

待删除数据空间所属的 OpenViking 库 ID,可从库信息页面获取,不能填写库名称

OpenVikingAccountID

string

是

待删除的数据空间名称,填写创建时指定的名称,或 ListOpenVikingAccounts 返回的 OpenVikingAccountID,不能填写 default

注意:​本接口删除的是指定库下的数据空间,不是整个 OpenViking 库

响应消息

成功响应包含 ResponseMetadata 和 Result 两部分。以下字段位于 Result 中。

字段

类型

说明

Success

bool

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

常见错误码

HTTP 状态码

错误码

说明

400

InvalidParameter

请求参数格式错误或校验不通过

400

MissingParameter

缺少必填参数

400

InvalidRequest

当前上下文不允许执行该请求

401

AuthenticationError

请求签名缺失或无效

403

AuthenticationError

身份校验失败

403

AccessDenied

当前账号无权执行该删除操作

404

ResourceNotExist

指定的库或数据空间不存在

429

QuotaExceeded

超出配额或触发限流

500

InternalError

服务内部错误

完整示例

请求示例

运行前,替换 AK、SK、ResourceID,并确认 OpenVikingAccountID 对应的数据空间可以删除。

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="DeleteOpenVikingAccount",
        body={
            "ResourceID": "ov-20250609abcdef01",
            "OpenVikingAccountID": "space_a"
        }
    )

    print("req http status code: ", http_code)
    print(
        "req result:\n",
        json.dumps(result_json, ensure_ascii=False, indent=2)
    )

响应示例

{
  "ResponseMetadata": {
    "RequestId": "202609171030001A2B3C4D5E6F",
    "Action": "DeleteOpenVikingAccount",
    "Version": "2025-06-09",
    "Service": "vikingdb",
    "Region": "cn-beijing"
  },
  "Result": {
    "Success": true
  }
}
最近更新时间:2026.09.17 15:38:21
这个页面对您有帮助吗?
有用
有用
无用
无用