Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Руководство [8.17] ›REST API ›API управления жизненным циклом индексов

API перемещения в этап жизненного цикла

Справочник по новым API

Для получения самых актуальных данных об API обратитесь к API управления жизненным циклом индексов.

Вызывает выполнение определенного этапа в политике жизненного цикла.

Запрос

POST _ilm/move/<index>

Предварительные условия

  • Если включены функции безопасности Elasticsearch, у вас должны быть права manage_ilm на индексы, которыми вы управляете, для использования этого API. Дополнительную информацию см. в разделе Права доступа к функциям безопасности.

Описание

Это действие может привести к потере данных. Ручное перемещение индекса в определенный этап выполняет этот этап, даже если он уже был выполнен. Это потенциально разрушительное действие, и его следует рассматривать как API экспертного уровня.

Ручное перемещение индекса в указанный этап и выполнение этого этапа. Необходимо указать как текущий этап, так и этап, подлежащий выполнению, в теле запроса.

Запрос завершится ошибкой, если текущий этап не совпадает с этапом, который в данный момент выполняется для индекса. Это предотвращает перемещение индекса из неожиданного этапа в следующий этап.

При указании целевого (next_step) перемещения индекса, либо поле name, либо оба поля action и name являются необязательными. Если указана только фаза, индекс переместится на первый этап первого действия в целевой фазе. Если указаны фаза и действие, индекс переместится на первый этап указанного действия в указанной фазе. Действия, указанные в политике ILM, считаются допустимыми, индекс не может переместиться на этап, который не является частью его политики.

Параметры пути

<index>
(Обязательный, строка) Идентификатор индекса.

Параметры запроса

master_timeout
(Необязательный, единицы измерения времени) Период ожидания узла-мастера. Если узел-мастер недоступен до истечения времени ожидания, запрос завершится ошибкой. По умолчанию значение 30s. Также может быть установлено значение -1, чтобы указать, что запрос никогда не должен истекать.
timeout
(Необязательный, единицы измерения времени) Период ожидания ответа от всех соответствующих узлов в кластере после обновления метаданных кластера. Если ответ не получен до истечения времени ожидания, обновление метаданных кластера все равно применяется, но ответ укажет, что оно не было полностью подтверждено. По умолчанию значение 30s. Также может быть установлено значение -1, чтобы указать, что запрос никогда не должен истекать.

Тело запроса

current_step

(Обязательный, объект)

Свойства current_step
phase
(Обязательный, строка) Название текущей фазы. Должно соответствовать фазе, возвращаемой API описания.
action
(Обязательный, строка) Название текущего действия. Должно соответствовать действию, возвращаемому API описания.
name
(Обязательный, строка) Название текущего этапа. Должно соответствовать этапу, возвращаемому API описания. Если ILM сталкивается с проблемой во время выполнения действия, он приостанавливает выполнение политики и переходит к этапу ERROR. Если вы пытаетесь продвинуть политику после устранения неполадок, вы указываете этот этап ERROR как текущий этап. Дополнительную информацию см. в разделе Устранение неполадок ошибок ILM.
next_step

(Обязательный, объект)

Свойства next_step
phase
(Обязательный, строка) Название фазы, содержащей действие, которое вы хотите выполнить или возобновить.
action
(Необязательный, строка) Название действия, которое вы хотите выполнить или возобновить. Требуется, если используется name.
name
(Необязательный, строка) Название этапа, на который необходимо переместиться и выполнить. Требуется, если используется action.

Примеры

В следующем примере индекс my-index-000001 перемещается из начального этапа в этап forcemerge:

resp = client.ilm.move_to_step(
    index="my-index-000001",
    current_step={
        "phase": "new",
        "action": "complete",
        "name": "complete"
    },
    next_step={
        "phase": "warm",
        "action": "forcemerge",
        "name": "forcemerge"
    },
)
print(resp)
const response = await client.ilm.moveToStep({
  index: "my-index-000001",
  current_step: {
    phase: "new",
    action: "complete",
    name: "complete",
  },
  next_step: {
    phase: "warm",
    action: "forcemerge",
    name: "forcemerge",
  },
});
console.log(response);
POST _ilm/move/my-index-000001
{
  "current_step": { 
    "phase": "new",
    "action": "complete",
    "name": "complete"
  },
  "next_step": { 
    "phase": "warm",
    "action": "forcemerge", 
    "name": "forcemerge" 
  }
}

Этап, в котором ожидается нахождение индекса

Этап, который вы хотите выполнить

Необязательное действие, в которое будет перемещен индекс

Необязательное имя этапа, в который будет перемещен индекс

При успешном выполнении запроса вы получите следующий результат:

{
  "acknowledged": true
}

Запрос завершится ошибкой, если индекс не находится в фазе new, как указано в current_step.

В следующем примере индекс my-index-000001 перемещается с конца горячей фазы в начало теплой фазы:

resp = client.ilm.move_to_step(
    index="my-index-000001",
    current_step={
        "phase": "hot",
        "action": "complete",
        "name": "complete"
    },
    next_step={
        "phase": "warm"
    },
)
print(resp)
const response = await client.ilm.moveToStep({
  index: "my-index-000001",
  current_step: {
    phase: "hot",
    action: "complete",
    name: "complete",
  },
  next_step: {
    phase: "warm",
  },
});
console.log(response);
POST _ilm/move/my-index-000001
{
  "current_step": {
    "phase": "hot",
    "action": "complete",
    "name": "complete"
  },
  "next_step": {
    "phase": "warm"
  }
}

© 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/ilm-move-to-step.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API