下载数据库备份

验证状态:已源码核验、未联调;适用基线:源码归纳 @ 2026-09-14

用途与场景

按文件名下载一个数据库备份压缩包(application/gzip 附件)。当前 Web 数据库备份页行内/批量下载调用本操作,以隐藏 <a> 标签触发浏览器下载。

使用位置

页面/功能 角色或空间分支
备份页行内下载 机构/管理员页面;Agent 签名鉴权
备份页批量下载(串行队列、间隔 5 秒) 同上

端点

GET /agent-api/v1/db/backup/download/{filename} — 下载指定数据库备份文件。

端点全量事实(参数、请求/响应字段、错误码、权限点)见清单层 agent · db-backup-download 下载指定数据库备份文件

动线与完成判据

浏览器下载完成(HTTP 200 + attachment 头)即成功;Web 不解析响应体(交给浏览器)。批量下载以 5 秒间隔串行触发,逐个成功与否不互相影响,结束后统一提示。

错误与边界

命名非法、文件不存在、读取失败分别走 Agent 信封的对应失败出口(信封语义见清单层各端点行);签名错误同查询数据库备份列表。大文件整体读入内存,超大备份可能造成 Agent 内存压力(现行实现,backup_handler.rs:164-166);不支持断点续传/Range;重复下载幂等(只读)。

调用关系与资源清理

无长连接资源。下载的文件来源为触发数据库备份或定时任务的产物,列表来自查询数据库备份列表

已知缺口

Agent 部署环境与签名一致性未联调(同族共同边界);大文件内存行为、并发下载上限未核验。