API создания или обновления конвейера обработки данных
Создает или обновляет конвейер обработки данных. Изменения, внесенные с помощью этого API, вступают в силу немедленно.
resp = client.ingest.put_pipeline(
id="my-pipeline-id",
description="My optional pipeline description",
processors=[
{
"set": {
"description": "My optional processor description",
"field": "my-keyword-field",
"value": "foo"
}
}
],
)
print(resp) 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 const response = await client.ingest.putPipeline({
id: "my-pipeline-id",
description: "My optional pipeline description",
processors: [
{
set: {
description: "My optional processor description",
field: "my-keyword-field",
value: "foo",
},
},
],
});
console.log(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> -
(Обязательный, строка) Идентификатор конвейера обработки данных для создания или обновления.
Чтобы избежать коллизий имён с встроенными и управляемыми конвейерами обработки данных Fleet, избегайте использования
@в названиях собственных конвейеров обработки данных. Исключение составляют конвейеры обработки данных*@custom, которые позволяют безопасно добавлять пользовательский конвейер в управляемые конвейеры. См. также Конвейеры для Fleet и Elastic Agent.
Параметры запроса
-
if_version - (Необязательный, целое число) Выполнить операцию только в том случае, если у конвейера есть такая версия. Если указано и обновление выполнено успешно, версия конвейера увеличивается.
-
master_timeout - (Необязательный, единицы времени) Время ожидания узла-мастера. Если узел-мастер недоступен до истечения таймаута, запрос завершается ошибкой и возвращает ошибку. По умолчанию
30s. Также может быть установлено значение-1, чтобы указать, что запрос никогда не должен вызывать таймаут. -
timeout - (Необязательный, единицы времени) Время ожидания ответа от всех соответствующих узлов в кластере после обновления метаданных кластера. Если ответ не получен до истечения таймаута, обновление метаданных кластера все равно применяется, но ответ укажет, что он не был полностью подтвержден. По умолчанию
30s. Также может быть установлено значение-1, чтобы указать, что запрос никогда не должен вызывать таймаут.
Тело запроса
-
description - (Необязательный, строка) Описание конвейера обработки данных.
-
on_failure -
(Необязательный, массив объектов процессора) Процессоры, которые выполняются немедленно после сбоя процессора.
Каждый процессор поддерживает значение на уровне процессора
on_failure. Если процессор без значенияon_failureтерпит неудачу, Elasticsearch использует этот параметр на уровне конвейера в качестве резервного варианта. Процессоры в этом параметре выполняются последовательно в указанном порядке. Elasticsearch не будет пытаться выполнить оставшиеся процессоры конвейера. -
processors - (Обязательный, массив объектов процессора) Процессоры, используемые для выполнения преобразований над документами перед индексированием. Процессоры выполняются последовательно в указанном порядке.
-
version -
(Необязательный, целое число) Номер версии, используемый внешними системами для отслеживания конвейеров обработки данных.
См. параметр
if_versionвыше для информации о том, как используется атрибут версии. -
_meta - (Необязательный, объект) Необязательные метаданные о конвейере обработки данных. Может содержать любые данные. Эта карта не генерируется автоматически Elasticsearch.
-
deprecated - (Необязательный, булево) Помечает этот конвейер обработки данных как устаревший. Когда на устаревший конвейер обработки данных ссылаются как на конвейер по умолчанию или конечный конвейер при создании или обновлении шаблон индекса без устаревших значений, Elasticsearch будет выводить предупреждение об устаревании.
Примеры
Метаданные конвейера
Вы можете использовать параметр _meta для добавления произвольных метаданных в конвейер. Этот определяемый пользователем объект хранится в состоянии кластера, поэтому предпочтительно его краткость.
Параметр _meta является необязательным и не генерируется или используется Elasticsearch автоматически.
Чтобы сбросить _meta, замените конвейер, не указывая его.
resp = client.ingest.put_pipeline(
id="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
}
},
)
print(resp) 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 const response = await client.ingest.putPipeline({
id: "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,
},
},
});
console.log(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 получения конвейера.
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/put-pipeline-api.html