--- title: "删除快照仓库" date: 2026-03-07 lastmod: 2026-03-07 description: "介绍如何在 Easysearch 中删除(注销)快照存储仓库。" tags: ["快照", "仓库", "删除"] summary: "此 API 用于删除(注销)快照存储仓库。 API # DELETE /_snapshot/{repository} API 的作用 # 从集群中注销指定的快照存储仓库。 重要说明: 此操作只注销仓库配置,不会删除存储在仓库中的实际数据 仓库中的快照文件仍然保留在存储系统中 如果仓库中仍有快照引用,操作可能失败 API 的参数 # 路由参数 # 参数 类型 是否必需 描述 repository string 必需 要删除的仓库名称 支持通配符 * 查询字符串参数 # 参数 类型 是否必需 默认值 描述 timeout time 可选 30s 操作超时时间 格式:30s, 1m, 5m 等 master_timeout time 可选 30s 等待主节点响应的超时时间" --- 此 API 用于删除(注销)快照存储仓库。 ## API ``` DELETE /_snapshot/{repository} ``` ## API 的作用 从集群中注销指定的快照存储仓库。 **重要说明**: - 此操作**只注销仓库配置**,不会删除存储在仓库中的实际数据 - 仓库中的快照文件仍然保留在存储系统中 - 如果仓库中仍有快照引用,操作可能失败 ## API 的参数 ### 路由参数 | 参数 | 类型 | 是否必需 | 描述 | |------|------|----------|------| | `repository` | string | 必需 | 要删除的仓库名称
支持通配符 `*` | ### 查询字符串参数 | 参数 | 类型 | 是否必需 | 默认值 | 描述 | |------|------|----------|--------|------| | `timeout` | time | 可选 | 30s | 操作超时时间
格式:`30s`, `1m`, `5m` 等 | | `master_timeout` | time | 可选 | 30s | 等待主节点响应的超时时间
格式:`30s`, `1m`, `5m` 等 | ## 请求示例 ```bash # 删除指定仓库 DELETE /_snapshot/my-repo # 设置超时时间 DELETE /_snapshot/my-repo?timeout=60s # 设置主节点超时时间 DELETE /_snapshot/my-repo?master_timeout=30s&timeout=60s # 使用通配符删除多个仓库 DELETE /_snapshot/my-repo-* ``` ## 响应示例 ### 成功响应 ```json { "acknowledged": true } ``` ### 错误响应 - 仓库不存在 ```json { "error": { "root_cause": [ { "type": "repository_missing_exception", "reason": "[my-repo] missing" } ], "type": "repository_missing_exception", "reason": "[my-repo] missing" }, "status": 404 } ``` ### 错误响应 - 仓库中仍有快照 ```json { "error": { "root_cause": [ { "type": "repository_exception", "reason": "[my-repo] cannot delete repository as it still contains snapshots: [snapshot1, snapshot2]" } ], "type": "repository_exception", "reason": "[my-repo] cannot delete repository as it still contains snapshots" }, "status": 500 } ``` ## 删除前的准备 在删除仓库前,建议执行以下步骤: ### 1. 查看仓库中的快照 ```bash GET /_snapshot/my-repo/_all ``` ### 2. 删除不需要的快照 ```bash DELETE /_snapshot/my-repo/snapshot1 DELETE /_snapshot/my-repo/snapshot2 ``` ### 3. 确认仓库为空 ```bash GET /_snapshot/my-repo/_all ``` ## 使用场景 1. **清理配置**:删除不再使用的仓库配置 2. **重新配置**:删除后重新创建仓库 3. **环境迁移**:迁移到新的存储位置 4. **配置更新**:完全替换仓库配置 ## 注意事项 1. 此 API 只支持 DELETE 方法 2. 删除仓库**不会**删除存储在文件系统或云存储中的实际数据 3. 如果仓库中仍有快照,删除会失败 4. 删除后需要重新创建仓库才能使用相同的名称 5. 使用通配符删除时,确保匹配范围正确 ## 安全建议 1. **确认快照已删除**:删除仓库前确认所有快照已处理完毕 2. **备份数据**:删除仓库前确保重要数据已备份到其他位置 3. **权限控制**:限制删除仓库的操作权限 4. **文档记录**:记录删除操作便于审计 ## 相关文档 - [创建快照仓库](./create-snapshot-repository.md) - [查询所有快照仓库](./get-all-snapshot-repositories.md) - [查询指定快照仓库](./get-specific-snapshot-repository.md) - [删除快照](./delete-snapshot.md)