Преобразование полезной нагрузки скриптом Watcher
Преобразование полезной нагрузки, которое выполняет скрипт над текущей полезной нагрузкой в контексте выполнения наблюдения и заменяет её на новую, сгенерированную. Следующий фрагмент демонстрирует, как можно определить простое преобразование полезной нагрузки скриптом на уровне наблюдения:
{
"transform" : {
"script" : "return [ 'time' : ctx.trigger.scheduled_time ]"
}
} | Простой |
Выполняемый скрипт может вернуть либо допустимую модель, эквивалентную Java™ Map или JSON объекту (для получения информации о данной структуре, следует обратиться к документации конкретного языка сценариев). Любое другое значение, которое будет возвращено, будет назначено и доступно переменной _value.
Атрибут script может содержать строковое значение, в таком случае оно будет обработано как инлайновый скрипт, и будут предположительно использованы стандартные языки сценариев Elasticsearch (как описано в Сценарии). Можно использовать и другие языки сценариев, поддерживаемые Elasticsearch. Для этого необходимо установить поле script в объект, описывающий скрипт и его язык. В следующей таблице перечислены возможные настройки:
Таблица 91. Настройки преобразования полезной нагрузки скриптом
| Имя | Обязательно | По умолчанию | Описание |
|---|---|---|---|
| да | - | При использовании инлайнового скрипта это поле содержит сам скрипт. |
| да | - | При ссылке на сохранённый скрипт, это поле содержит идентификатор скрипта. |
| нет |
| Язык сценария |
| нет | - | Дополнительные параметры/переменные, доступные скрипту |
При использовании объектной нотации скрипта, должно быть определено одно (и только одно) из полей inline или id.
В дополнение к предоставленным params, скрипты также имеют доступ к стандартным параметрам контекста выполнения наблюдения.
© 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/transform-script.html