从集群中删除指定的摄入管道。
API 格式 #
DELETE /_ingest/pipeline/{id}
API 作用 #
该 API 用于从集群中删除摄入管道:
- 删除指定 ID 的摄入管道
- 支持使用通配符批量删除多个管道
- 删除后无法用于文档预处理
API 参数 #
路径参数 #
| 参数 | 类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
{id} | String | 是 | - | 管道 ID,支持通配符模式 |
查询参数 #
| 参数 | 类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
timeout | Time | 否 | 30s | 操作超时时间 |
master_timeout | Time | 否 | 30s | 连接主节点的超时时间 |
请求示例 #
删除指定管道 #
DELETE /_ingest/pipeline/my-pipeline
使用通配符删除 #
DELETE /_ingest/pipeline/logs-*
删除所有管道 #
DELETE /_ingest/pipeline/*
设置超时时间 #
DELETE /_ingest/pipeline/my-pipeline?timeout=1m
响应示例 #
成功响应 #
{
"acknowledged": true
}
响应字段说明 #
| 字段 | 类型 | 描述 |
|---|---|---|
acknowledged | Boolean | 管道删除是否被集群确认 |
错误响应 #
管道不存在 #
{
"error": {
"root_cause": [
{
"type": "resource_not_found_exception",
"reason": "pipeline [my-pipeline] not found"
}
],
"type": "resource_not_found_exception",
"reason": "pipeline [my-pipeline] not found"
}
}
通配符支持 #
API 支持通配符模式进行批量删除:
*:匹配所有管道logs-*:匹配以logs-开头的管道*-v1:匹配以-v1结尾的管道
使用场景 #
- 管道清理:删除不再使用的管道
- 版本更新:删除旧版本管道后创建新版本
- 批量管理:使用通配符批量删除相关管道
- 环境迁移:在环境迁移前清理旧管道
注意事项 #
- 不可恢复:删除后无法恢复,请谨慎操作
- 依赖检查:确保没有活跃的摄取请求正在使用该管道
- 通配符谨慎:使用
*会删除所有管道,请谨慎操作 - 原子操作:批量删除是原子性的,要么全部成功要么全部失败
相关操作 #
- PUT /_ingest/pipeline/{id}:创建或更新管道
- GET /_ingest/pipeline/{id}:查询管道
- GET /_ingest/pipeline:查询所有管道
- POST /_ingest/pipeline/{id}/_simulate:模拟管道执行
实现文件 #
- REST 处理器:
RestDeletePipelineAction.java - 请求类:
DeletePipelineRequest.java - 动作类:
DeletePipelineAction.java - 响应类:
AcknowledgedResponse.java





