网络服务
mcorest 库提供了一个类似 REST 的接口来访问多个 SmartEDB 资源。响应数据使用 JSON 格式进行编码。
为了能够访问 SmartEDB Web 服务,必须启动 REST 服务器。当使用 xSQL 启动 REST 服务器时,配置文件中必须包含 rest 部分。例如:
database_name : xsqldb,
database_size : 100m,
rest : {
port : 8083
}
请注意,此处省略了其余参数 addr,这使得 REST 服务器能够在所有可用的网络接口上接受传入连接。有关更多信息,请参阅 xSQL Web Services REST 参数页面。
以下是当前支持的资源列表,以及 JSON 响应示例。(如需更详细的信息,请使用指向各个资源页面的链接。)
名称 | 路径 | 说明 |
---|---|---|
版本信息 | /api | 列出 SmartEDB 版本信息以及已注册的网络服务。 |
数据库 | /api/db | 列出可用数据库的名称。 |
备份状态 | /api/db/<dbname>/backup/status | 正在运行的增量备份过程的当前状态。 |
备份控制 | /api/db/<dbname>/backup/control | 实现异步备份和恢复控制。 |
备份内容 | /api/db/<dbname>/backup/list | 打印备份文件的内容。 |
验证备份 | /api/db/<dbname>/backup/verify | 验证备份文件。 |
统计信息 | /api/db/<dbname>/stat | 显示数据库统计信息。 |
类列表 | /api/db/<dbname>/classes | 显示数据库类的简略列表。 |
结构列表 | /api/db/<dbname>/structs | 显示数据库结构的简略列表。 |
模式列表 | /api/db/<dbname>/schema | 返回数据库的整个架构模式。 |
类操作 | /api/db/<dbname>/classes/<struct_no> | GET:显示由 struct_no 标识的数据库类的架构; POST:向数据库写入记录; DELETE:删除指定类的所有记录 |
结构操作 | /api/db/<dbname>/structs/<struct_no> | 显示由 struct_no 标识的数据库结构的模式 |
查询/删除类记录 | /api/db/<dbname>/classes/<struct_no>/byindex/<index_no>/list | GET:使用由 index_no 标识的索引返回指定类的记录; DELETE:根据查询参数删除单个对象; |
匹配操作 | /api/db/<dbname>/classes/<struct_no>/byindex/<index_no>/eq/<key> | GET:请求的响应与对上一个响应相同。 DELETE:操作会删除与指定键匹配的单个记录。 PATCH:操作会更新由键值标识的记录中的单个字段。 |
匹配操作 | /api/db/<dbname>/classes/<struct_no>/byindex/<index_no>/eq/<key>/field/<field_no> | GET:请求的响应会返回元素或结构字段的值; DELETE 会删除该元素。PATCH 会覆盖该元素的值。 |
匹配操作 | /api/db/<dbname>/classes/<struct_no>/byindex/<index_no>/eq/<key>/field/<field_no>/at/<elem_index> | 为数组、向量、序列和结构体提供对单个元素的访问。 |
性能信息 | /api/perf | 显示性能数据库信息(如果已启用) |
SQL统计信息 | /api/sql/stat | 显示 SQL 统计信息 |
会话统计信息 | /api/sql/stat/sessions | 显示 SQL 会话统计信息,并允许使用 HTTP DELETE 方法从历史记录中删除会话 |
执行SQL 语句 | /api/sql/exec | 执行一条 SQL 语句或多个语句 |
追踪信息 | /api/trace | 提供只读跟踪访问权限。 |
集群信息 | /api/cluster/restlist | 列出集群网络中的节点数组。 |
高可用性信息 | /api/ha/restlist | 列出高可用性网络中的节点数组。 |
物联网信息 | /api/iot/restlist | 列出物联网网络中的节点数组。 |