--- title: "查询指定摄入管道" date: 2026-02-01 lastmod: 2026-02-01 description: "查询指定的摄入管道配置" tags: ["摄入管道", "查询", "处理器"] summary: "获取一个或多个指定摄入管道的配置信息。 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?" --- 获取一个或多个指定摄入管道的配置信息。 ## 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 ``` ## 响应示例 ### 成功响应 ```json { "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 ``` ```json { "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` | 失败处理器 | ## 使用场景 1. **配置检查**:查看管道的当前配置 2. **调试验证**:确认处理器设置正确 3. **管道对比**:比较不同管道的配置 4. **依赖分析**:了解管道的处理器依赖关系 ## 注意事项 1. **通配符匹配**:使用简单匹配模式(如 `pipeline-*`) 2. **批量查询**:可同时查询多个管道 3. **二进制存储**:管道配置以二进制格式存储以提高性能 4. **主节点通信**:从主节点获取管道配置 ## 相关操作 - **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`