---
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)