API восстановления снимков
Восстанавливает снимок кластера или указанных потоков данных и индексов.
POST /_snapshot/my_repository/my_snapshot/_restore
{
"indices": "*,-.*",
"feature_states": [ "geoip" ]
} Запрос
POST /_snapshot/<repository>/<snapshot>/_restore
Предварительные условия
- Если вы используете функции безопасности Elasticsearch, у вас должен быть
manageилиcluster:admin/snapshot/*привилегия кластера, чтобы использовать этот API.
- Вы можете восстановить снимок только в работающем кластере с избранным узлом-мастером. Репозиторий снимка должен быть зарегистрирован и доступен для кластера.
- Версии снимка и кластера должны быть совместимы. См. Совместимость снимков.
- Для восстановления снимка глобальные метаданные кластера должны быть доступны для записи. Убедитесь, что нет блоков кластера, которые препятствуют записям. Операция восстановления игнорирует блоки индексов.
-
Перед восстановлением потока данных убедитесь, что кластер содержит соответствующую шаблон индекса с включенным потоком данных. Для проверки используйте функцию Управление индексами Kibana или API получения шаблона индекса:
GET _index_template/*?filter_path=index_templates.name,index_templates.index_template.index_patterns,index_templates.index_template.data_stream
Если такого шаблона нет, вы можете создать его или восстановить состояние кластера, который его содержит. Без соответствующего шаблона индекса поток данных не может переходить к новой версии или создавать вспомогательные индексы.
- Если ваш снимок содержит данные из App Search или Workplace Search, убедитесь, что вы восстановили ключ шифрования Enterprise Search перед восстановлением снимка.
Параметры пути
-
<repository> - (Обязательно, строка) Имя репозитория для восстановления снимка.
-
<snapshot> - (Обязательно, строка) Имя снимка для восстановления.
Параметры запроса
-
master_timeout - (Необязательно, единицы времени) Период ожидания подключения к узлу-мастеру. Если ответ не получен до истечения срока ожидания, запрос завершается ошибкой. По умолчанию
30s. -
wait_for_completion -
(Необязательно, Булево) Если
true, запрос возвращает ответ по завершении операции восстановления. Операция завершена, когда она завершает все попытки восстановления первичных фрагментов для восстановленных индексов. Это относится даже в случае неудачных попыток восстановления.Если
false, запрос возвращает ответ при инициализации операции восстановления. По умолчаниюfalse.
Тело запроса
-
ignore_unavailable - (Необязательно, Булево) Если
true, запрос игнорирует любые индексы или потоки данных вindices, отсутствующие в снимке. Еслиfalse, запрос возвращает ошибку для любого отсутствующего индекса или потока данных. По умолчаниюfalse. -
ignore_index_settings -
(Необязательно, строка или массив строк) Настройки индекса, которые не нужно восстанавливать из снимка. Вы не можете использовать этот параметр для игнорирования
index.number_of_shards.Для потоков данных этот параметр применяется только к восстановленным вспомогательным индексам. Новые вспомогательные индексы настраиваются с помощью соответствующего шаблона индекса потока данных.
-
include_aliases - (Необязательно, Булево) Если
true, запрос восстанавливает алиасы для любых восстановленных потоков данных и индексов. Еслиfalse, запрос не восстанавливает алиасы. По умолчаниюtrue.
-
include_global_state -
(Необязательно, Булево) Если
true, восстановить состояние кластера. По умолчаниюfalse.Состояние кластера включает:
- Постоянные настройки кластера
- Шаблоны индексов
- Шаблоны индексов (старая версия)
- Трубопроводы инжеста
- Политики жизненного цикла индексов
- Сохраненные скрипты
- Для снимков, сделанных после 7.12.0, состояния функций
Если
include_global_stateравноtrue, операция восстановления объединяет шаблоны индексов кластера со шаблонами из снимка, заменяя существующие шаблоны с совпадающими именами. Полностью удаляются все постоянные настройки, шаблоны индексов (не старой версии), трубопроводы инжеста и политики жизненного цикла ILM, существующие в кластере, и заменяются соответствующими элементами из снимка.Используйте параметр
feature_statesдля настройки восстановления состояний функций.
-
feature_states -
(Необязательно, массив строк) Состояния функций для восстановления.
Если
include_global_stateравноtrue, по умолчанию запрос восстанавливает все состояния функций из снимка. Еслиinclude_global_stateравноfalse, по умолчанию запрос не восстанавливает состояния функций. Обратите внимание, что указание пустого массива приведет к поведению по умолчанию. Чтобы не восстанавливать состояния функций независимо от значенияinclude_global_state, укажите массив, содержащий только значениеnone(["none"]).
-
index_settings -
(Необязательно, объект) Настройки индекса для добавления или изменения в восстановленных индексах, включая вспомогательные индексы. Вы не можете использовать этот параметр для изменения
index.number_of_shards.Для потоков данных этот параметр применяется только к восстановленным вспомогательным индексам. Новые вспомогательные индексы настраиваются с помощью соответствующего шаблона индекса потока данных.
-
indices - (Необязательно, строка или массив строк) Список индексов и потоков данных для восстановления, разделенных запятыми. Поддерживает синтаксис для нескольких целей. По умолчанию все индексы и потоки данных в снимке, включая системные индексы.
-
partial -
(Необязательно, Булево) Если
false, вся операция восстановления завершится ошибкой, если один или несколько индексов, включенных в снимок, не имеют всех первичных фрагментов. По умолчаниюfalse.Если
true, позволяет восстановить частичный снимок индексов с недоступными фрагментами. Будут восстановлены только те фрагменты, которые успешно вошли в снимок. Все отсутствующие фрагменты будут созданы как пустые.
-
rename_pattern -
(Необязательно, строка) Определяет шаблон переименования для восстановленных потоков данных и индексов. Потоки данных и индексы, соответствующие шаблону переименования, будут переименованы согласно
rename_replacement.Шаблон переименования применяется согласно регулярному выражению, поддерживающему ссылки на исходный текст, по логике
appendReplacement.
-
rename_replacement - (Необязательно, строка) Определяет строку замены для переименования. См.
rename_patternдля получения дополнительной информации.
Примеры
Следующий запрос восстанавливает index_1 и index_2 из snapshot_2. Параметры rename_pattern и rename_replacement указывают, что любой индекс, соответствующий регулярному выражению index_(.+), будет переименован по шаблону restored_index_$1 при восстановлении.
Например, index_1 будет переименован в restored_index_1. index_2 будет переименован в restored_index_2.
POST /_snapshot/my_repository/snapshot_2/_restore?wait_for_completion=true
{
"indices": "index_1,index_2",
"ignore_unavailable": true,
"include_global_state": false,
"rename_pattern": "index_(.+)",
"rename_replacement": "restored_index_$1",
"include_aliases": false
} 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/7.17/restore-snapshot-api.html