Skip to main content
数据库 API 让 MemoryLake 能够基于您自己的关系型数据库回答问题。您先登记如何访问数据库,再选择一个 schema 建立索引,可选地整理关于这些数据的知识,最后把数据库作为记忆来源添加到项目中。
团队需要先开通数据库功能,才能使用这些接口。开通之前,下文列出的数据库权限无法授予团队成员。

资源

数据库 API 由四种资源组成。每种资源所在的层级不同,这决定了谁能看到它,以及它的接口挂在哪个路径下。 它们之间的关系:
  • 一个连接可以服务多个数据源。只要还有数据源通过它读取数据,连接就不能删除。
  • 一个数据源只覆盖其连接下的一个 schema,且创建后不能更换;要读取另一个 schema,请另建一个数据源。
  • 一个数据源可以有多个分析模型,也可以被多个数据库记忆使用。
  • 一个数据库记忆最多绑定一个分析模型,且该分析模型必须建在同一个数据源上。

典型流程

1

检查凭据

调用测试数据库连通性,传入主机、端口、数据库名、用户名和密码。响应会列出这组凭据能读取的 schema。
2

创建连接

用同一组凭据调用创建数据库连接。之后的调用只需要连接 ID。
3

创建数据源

在工作空间中调用创建数据源,传入连接 ID 和一个 schema。创建时会同时开始首次索引构建,构建是异步的:轮询获取数据源,直到 building_version 变为空。之后如需重建(例如数据发生变化后),调用构建数据源索引。
4

描述数据(可选)

用编辑 Schema 元数据补充表和字段的注释。如需整理更深入的知识,在数据源上创建分析模型,并向其中添加知识条目。
5

把数据库添加到项目

调用创建数据库记忆,传入数据源 ID,可选地传入分析模型 ID 和回答指引。轮询获取数据库记忆,直到 status 变为 okay。

权限

在一个资源之上创建另一个资源时,还需要对前者有读权限:创建数据源需要对连接有 dbconn:read,创建分析模型或数据库记忆需要对数据源有 db_datasource:read。连接、数据源和分析模型的列表会略去您打不开的行,列表本身不会被拒绝。

约定

数据库 API 与 MemoryLake API 的其他部分遵循相同的约定:
  • 响应使用标准的 success / data 信封。参见响应格式。
  • 连接、数据源和分析模型支持 custom_id,并可以带上 by_custom_id=true 用它来查找。参见您自己的标识符。
  • 列表接口使用延续令牌分页。参见分页。
  • 错误使用标准错误码。参见错误。