创建或更新管道 API
编辑创建或更新管道 API编辑
创建或更新摄取管道。使用此 API 所做的更改会立即生效。
response = client.ingest.put_pipeline( id: 'my-pipeline-id', body: { description: 'My optional pipeline description', processors: [ { set: { description: 'My optional processor description', field: 'my-keyword-field', value: 'foo' } } ] } ) puts response
PUT _ingest/pipeline/my-pipeline-id { "description" : "My optional pipeline description", "processors" : [ { "set" : { "description" : "My optional processor description", "field": "my-keyword-field", "value": "foo" } } ] }
请求编辑
PUT /_ingest/pipeline/<pipeline>
先决条件编辑
- 如果启用了 Elasticsearch 安全功能,则您必须具有
manage_pipeline
、manage_ingest_pipelines
或manage
集群权限 才能使用此 API。
路径参数编辑
-
<pipeline>
-
(必填,字符串)要创建或更新的摄取管道的 ID。
为避免与内置和 Fleet 管理的摄取管道发生命名冲突,请避免在您自己的摄取管道名称中使用
@
。该规则的例外是*@custom
摄取管道,它允许您安全地将自定义管道添加到托管管道。另请参阅Fleet 和 Elastic Agent 的管道。
查询参数编辑
请求正文编辑
-
description
- (可选,字符串)摄取管道的描述。
-
on_failure
-
(可选,处理器 对象数组)处理器在处理器失败后立即运行。
每个处理器都支持处理器级别的
on_failure
值。如果未设置on_failure
值的处理器失败,Elasticsearch 会将此管道级参数用作回退。此参数中的处理器按指定的顺序依次运行。Elasticsearch 不会尝试运行管道中剩余的处理器。 -
processors
- (必填,处理器 对象数组)用于在索引之前对文档执行转换的处理器。处理器按指定的顺序依次运行。
-
version
-
(可选,整数)外部系统用来跟踪摄取管道的版本号。
有关如何使用 version 属性,请参阅上面的
if_version
参数。 -
_meta
- (可选,对象)有关摄取管道的可选元数据。可以有任何内容。此映射不是由 Elasticsearch 自动生成的。
-
deprecated
- (可选,布尔值)将此摄取管道标记为已弃用。当在创建或更新未弃用的索引模板时,将已弃用的摄取管道引用为默认或最终管道时,Elasticsearch 将发出弃用警告。
示例编辑
管道元数据编辑
您可以使用 _meta
参数将任意元数据添加到管道。此用户定义的对象存储在集群状态中,因此最好将其保持简短。
_meta
参数是可选的,不是由 Elasticsearch 自动生成或使用的。
要取消设置 _meta
,请替换管道而不指定任何管道。
response = client.ingest.put_pipeline( id: 'my-pipeline-id', body: { description: 'My optional pipeline description', processors: [ { set: { description: 'My optional processor description', field: 'my-keyword-field', value: 'foo' } } ], _meta: { reason: 'set my-keyword-field to foo', serialization: { class: 'MyPipeline', id: 10 } } } ) puts response
PUT /_ingest/pipeline/my-pipeline-id { "description" : "My optional pipeline description", "processors" : [ { "set" : { "description" : "My optional processor description", "field": "my-keyword-field", "value": "foo" } } ], "_meta": { "reason": "set my-keyword-field to foo", "serialization": { "class": "MyPipeline", "id": 10 } } }
要检查 _meta
,请使用 获取管道 API。