📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

获取一个或多个指定摄入管道的配置信息。

API 格式 #

GET /_ingest/pipeline/{id}

API 作用 #

该 API 用于检索摄入管道的配置信息:

  • 获取指定 ID 的管道配置
  • 支持逗号分隔的多个管道 ID
  • 支持通配符模式匹配
  • 查看管道描述和处理器列表

API 参数 #

路径参数 #

参数类型是否必填默认值描述
{id}String-管道 ID,支持逗号分隔的多个 ID 或通配符

查询参数 #

参数类型是否必填默认值描述
master_timeoutTime默认超时连接主节点的超时时间

请求示例 #

查询单个管道 #

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 为键的管道配置对象

管道配置字段 #

字段类型描述
idString管道 ID
configObject管道配置对象
config.descriptionString管道描述
config.processorsArray处理器数组

处理器对象 #

字段类型描述
{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