此 API 用于删除 Easysearch 集群中的数据流(Data Stream)。删除数据流时,会同时删除该数据流关联的所有后备索引(backing indices)。
API #
DELETE /_data_stream/{name}
API 的作用 #
删除指定的数据流及其所有后备索引。这是一个不可逆的操作,执行后数据将被永久删除。
删除操作的影响:
- 删除数据流本身的定义
- 删除数据流的所有后备索引(
.ds-{name}-*格式的索引) - 删除所有存储在这些索引中的数据
API 的参数 #
路由参数 #
| 参数 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
name | string | 必需 | 要删除的数据流名称 支持: - 单个名称: logs-nginx- 通配符: logs-*不支持逗号分隔的多个名称 |
查询字符串参数 #
| 参数 | 类型 | 是否必需 | 默认值 | 描述 |
|---|---|---|---|---|
master_node_timeout | time | 可选 | 30s | 等待主节点响应的超时时间 如果主节点未发现或已断开连接,这个值用于控制等待时间 |
timeout | time | 可选 | 30s | 等待操作完成确认的超时时间 |
请求示例 #
# 删除单个数据流
DELETE /_data_stream/logs-nginx
# 使用通配符删除多个数据流
DELETE /_data_stream/logs-*
# 删除指定前缀的所有数据流
DELETE /_data_stream/2023-*
# 带超时参数的删除请求
DELETE /_data_stream/logs-nginx?master_node_timeout=60s&timeout=50s
响应示例 #
成功响应 #
{
"acknowledged": true
}
使用通配符删除多个数据流的响应 #
{
"acknowledged": true
}
错误响应 - 数据流不存在 #
{
"error": {
"root_cause": [
{
"type": "resource_not_found_exception",
"reason": "data_stream [non-existent-stream] missing"
}
],
"type": "resource_not_found_exception",
"reason": "data_stream [non-existent-stream] missing"
},
"status": 404
}
错误响应 - 正在进行快照 #
{
"error": {
"root_cause": [
{
"type": "snapshot_in_progress_exception",
"reason": "Cannot delete data stream [logs-nginx] because a snapshot is in progress"
}
],
"type": "snapshot_in_progress_exception",
"reason": "Cannot delete data stream [logs-nginx] because a snapshot is in progress"
},
"status": 400
}
删除验证机制 #
系统在执行删除前会进行以下检查:
- 数据流存在性检查:确认指定的数据流存在
- 快照检查:确保没有正在进行的快照操作
- 通配符匹配:使用正则表达式匹配支持通配符模式
使用场景 #
- 数据清理:删除不再需要的历史数据流
- 环境重置:在测试环境中清理所有测试数据流
- 容量管理:删除旧的数据流以释放存储空间
- 错误恢复:删除配置错误的数据流以重新创建
注意事项 #
- 不可逆操作:删除后数据无法恢复,请谨慎使用
- 后备索引同步删除:删除数据流会同时删除所有后备索引
- 快照冲突:如果有正在进行的快照操作,删除会失败
- 通配符使用:支持通配符批量删除,请务必确认匹配范围
- 权限要求:执行此操作需要相应的集群管理权限
安全建议 #
- 删除前确认:在删除前先用
GET /_data_stream/{name}确认数据流信息 - 备份数据:删除前确保重要数据已备份或归档
- 使用精确名称:尽量避免在生产环境使用通配符删除
- 测试环境验证:先在测试环境验证删除操作
与相关 API 的区别 #
| API | 功能 |
|---|---|
DELETE /_data_stream/{name} | 删除数据流及其后备索引 |
DELETE /{index} | 删除索引(需手动删除 .ds-* 格式的后备索引) |
POST /_close | 关闭索引(不删除数据) |





