获取一个或多个指定摄入管道的配置信息。
API 格式 #
GET /_ingest/pipeline/{id}
API 作用 #
该 API 用于检索摄入管道的配置信息:
- 获取指定 ID 的管道配置
- 支持逗号分隔的多个管道 ID
- 支持通配符模式匹配
- 查看管道描述和处理器列表
API 参数 #
路径参数 #
| 参数 | 类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
{id} | String | 是 | - | 管道 ID,支持逗号分隔的多个 ID 或通配符 |
查询参数 #
| 参数 | 类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
master_timeout | Time | 否 | 默认超时 | 连接主节点的超时时间 |
请求示例 #
查询单个管道 #
GET /_ingest/pipeline/my-pipeline
查询多个管道 #
GET /_ingest/pipeline/pipeline1,pipeline2
使用通配符查询 #
GET /_ingest/pipeline/logs-*
设置主节点超时 #
GET /_ingest/pipeline/my-pipeline?master_timeout=50s
响应示例 #
成功响应 #
{
"my-pipeline": {
"id": "my-pipeline",
"config": {
"description": "Process logs data",
"processors": [
{
"set": {
"field": "processed",
"value": true
}
},
{
"rename": {
"field": "old_field",
"target_field": "new_field"
}
}
]
}
},
"logs-pipeline": {
"id": "logs-pipeline",
"config": {
"description": "Enrich logs with metadata",
"processors": [
{
"set": {
"field": "@timestamp",
"value": "{{_ingest.timestamp}}"
}
}
]
}
}
}
未找到响应 #
404 Not Found
{
"error": {
"type": "resource_not_found_exception",
"reason": "pipeline [my-pipeline] not found"
}
}
响应字段说明 #
顶层对象 #
| 字段 | 类型 | 描述 |
|---|---|---|
{pipeline_id} | Object | 以管道 ID 为键的管道配置对象 |
管道配置字段 #
| 字段 | 类型 | 描述 |
|---|---|---|
id | String | 管道 ID |
config | Object | 管道配置对象 |
config.description | String | 管道描述 |
config.processors | Array | 处理器数组 |
处理器对象 #
| 字段 | 类型 | 描述 |
|---|---|---|
{processor_type} | Object | 处理器定义(键为处理器类型) |
处理器类型说明 #
| 类型 | 描述 |
|---|---|
set | 设置字段值 |
rename | 重命名字段 |
remove | 删除字段 |
drop | 删除文档 |
append | 追加值到数组 |
script | 脚本处理 |
date | 日期处理 |
gsub | 字符串替换 |
join | 数组合并 |
split | 字符串拆分 |
uppercase | 转大写 |
lowercase | 转小写 |
trim | 去除空格 |
convert | 类型转换 |
fail | 失败处理器 |
使用场景 #
- 配置检查:查看管道的当前配置
- 调试验证:确认处理器设置正确
- 管道对比:比较不同管道的配置
- 依赖分析:了解管道的处理器依赖关系
注意事项 #
- 通配符匹配:使用简单匹配模式(如
pipeline-*) - 批量查询:可同时查询多个管道
- 二进制存储:管道配置以二进制格式存储以提高性能
- 主节点通信:从主节点获取管道配置
相关操作 #
- PUT /_ingest/pipeline/{id}:创建或更新管道
- DELETE /_ingest/pipeline/{id}:删除管道
- GET /_ingest/pipeline:查询所有管道
- POST /_ingest/pipeline/{id}/_simulate:模拟管道执行
实现文件 #
- REST 处理器:
RestGetPipelineAction.java - 请求类:
GetPipelineRequest.java - 响应类:
GetPipelineResponse.java - 管道配置:
PipelineConfiguration.java





