Spec-Zone.ru › Elasticsearch 7
›Руководство по Elasticsearch [7.17] ›REST API ›API создания и восстановления моментальных снимков

API получения моментального снимка

Получает информацию об одном или нескольких моментальных снимках.

GET /_snapshot/my_repository/my_snapshot

Запрос

GET /_snapshot/<repository>/<snapshot>

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

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

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

<repository>

(Обязательный, строка) Список имён репозиториев моментальных снимков через запятую, используемый для ограничения запроса. Поддерживаются шаблоны с подстановкой (*), включая комбинирование шаблонов с исключающими шаблонами, начинающимися с -.

Чтобы получить информацию обо всех репозиториях моментальных снимков, зарегистрированных в кластере, опустите этот параметр или используйте * или _all.

<snapshot>

(Обязательный, строка) Список имён моментальных снимков через запятую для получения. Поддерживаются шаблоны с подстановкой (*), включая комбинирование шаблонов с исключающими шаблонами, начинающимися с -.

  • Чтобы получить информацию обо всех моментальных снимках в зарегистрированном репозитории, используйте шаблон с подстановкой (*) или _all.
  • Чтобы получить информацию о текущих моментальных снимках, используйте _current.

    Использование _all в запросе приводит к ошибке, если какие-либо моментальные снимки недоступны. Установите ignore_unavailable в true, чтобы вернуть только доступные моментальные снимки.

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

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

(Необязательный, логический тип) Если false, запрос возвращает ошибку для любых недоступных моментальных снимков. По умолчанию false.

Если true, запрос игнорирует недоступные моментальные снимки, такие как повреждённые или временно недоступные.

verbose
(Необязательный, логический тип) Если true, возвращает дополнительную информацию о каждом моментальном снимке, такую как версия Elasticsearch, которая сделала моментальный снимок, начальное и конечное время моментального снимка и количество захваченных фрагментов. По умолчанию true. Если false, опускает дополнительную информацию.
index_details
(Необязательный, логический тип) Если true, возвращает дополнительную информацию о каждом индексе в моментальном снимке, включая количество фрагментов в индексе, общий размер индекса в байтах и максимальное количество сегментов на фрагмент в индексе. По умолчанию false, означающее, что эта информация опускается.
include_repository
(Необязательный, логический тип) Если true, возвращает имя репозитория для каждого моментального снимка в ответе. По умолчанию true.
sort

(Необязательный, строка) Позволяет задать порядок сортировки результата. По умолчанию start_time, т.е. сортировка по метке начального времени моментального снимка.

Допустимые значения для sort
start_time
Сортировка моментальных снимков по их метке начального времени и разрыв связей по имени моментального снимка.
duration
Сортировка моментальных снимков по их продолжительности и разрыв связей по имени моментального снимка.
name
Сортировка моментальных снимков по их имени.
repository
Сортировка моментальных снимков по имени репозитория и разрыв связей по имени моментального снимка.
index_count
Сортировка моментальных снимков по количеству содержащихся в них индексов и разрыв связей по имени моментального снимка.
shard_count
Сортировка моментальных снимков по количеству содержащихся в них фрагментов и разрыв связей по имени моментального снимка.
failed_shard_count
Сортировка моментальных снимков по количеству фрагментов, которые не были захвачены моментальным снимком, и разрыв связей по имени моментального снимка.
size
(Необязательный, целое число) Максимальное количество моментальных снимков для возврата. По умолчанию 0, что означает возврат всех совпадений без ограничения.
order
(Необязательный, строка) Порядок сортировки. Допустимые значения — asc для возрастания и desc для убывания. По умолчанию asc, означающее возрастание.
from_sort_value
(Необязательный, строка) Значение текущей сортировки, с которой начинается получение. Может быть именем моментального снимка или репозитория при сортировке по ним, миллисекундным значением времени или числом при сортировке по количеству индексов или фрагментов.
after
(Необязательный, строка) Идентификатор смещения для начала пагинации, как возвращается в поле next в теле ответа. Использование этого параметра несовместимо с использованием параметра from_sort_value.
offset
(Необязательный, целое число) Числовое смещение для начала пагинации на основе моментальных снимков, соответствующих этому запросу. Использование ненулевого значения для этого параметра несовместимо с использованием параметра after. По умолчанию 0.
slm_policy_filter
(Необязательный, строка) Фильтрует моментальные снимки по списку имён политик SLM через запятую, к которым относятся моментальные снимки. Также поддерживает шаблоны с подстановкой (\*) и комбинации шаблонов с исключающими шаблонами, начинающимися с -. Например, шаблон *,-policy-a-\* вернёт все моментальные снимки, кроме тех, которые были созданы политикой SLM с именем, начинающимся с policy-a-. Обратите внимание, что шаблон с подстановкой * соответствует всем моментальным снимкам, созданным политикой SLM, но не моментальным снимкам, которые не были созданы политикой SLM. Для включения моментальных снимков, не созданных политикой SLM, можно использовать специальный шаблон _none, который будет соответствовать всем моментальным снимкам без политики SLM.

Параметр after и поле next позволяют итерироваться по моментальным снимкам с некоторыми гарантиями согласованности по поводу одновременного создания или удаления моментальных снимков. Гарантируется, что любой моментный снимок, существовавший в начале итерации и не был удалён в процессе, будет виден во время итерации. Моментальные снимки, созданные одновременно, могут быть видны в процессе итерации.

Параметры size, order, after, from_sort_value, offset, slm_policy_filter и sort не поддерживаются при использовании verbose=false, и порядок сортировки для запросов с verbose=false не определён.

Тело ответа

snapshot
(строка) Название моментального снимка.
uuid
(строка) Универсальный уникальный идентификатор (UUID) моментального снимка.
version_id
(целое число) ID сборки версии Elasticsearch, использованной для создания моментального снимка.
version
(число с плавающей точкой) Версия Elasticsearch, использованная для создания моментального снимка.
indices
(массив) Список индексов, включённых в моментальный снимок.
index_details

(объект) Детали каждого индекса в моментальном снимке, индексированные по имени индекса. Присутствует только если параметр запроса ?index_details установлен, и содержит детали только для индексов, которые были полностью засняты в достаточно свежей версии Elasticsearch.

Свойства index_details
shard_count
(целое число) Количество фрагментов в данном индексе.
size
(строка) Общий размер всех фрагментов в данном индексе. Присутствует только если параметр запроса ?human установлен.
size_in_bytes
(длинное целое число) Общий размер всех фрагментов в данном индексе в байтах.
max_segments_per_shard
(целое число) Максимальное количество сегментов на фрагмент в данном индексе моментального снимка.
data_streams
(массив строк) Список потоков данных, включенных в моментальный снимок.
include_global_state
(Булево значение) Указывает, включено ли текущее состояние кластера в моментальный снимок.
feature_states

(массив объектов) Состояния функций в моментальном снимке. Присутствует только если моментальный снимок содержит одно или несколько состояний функций.

Свойства объектов features_states
feature_name
(строка) Название функции, возвращаемой API получения функций.
indices
(массив строк) Индексы в состоянии функции.
start_time
(строка) Дата и время начала процесса создания моментального снимка.
start_time_in_millis
(длинное целое число) Время в миллисекундах, когда начался процесс создания моментального снимка.
end_time
(строка) Дата и время окончания процесса создания моментального снимка.
end_time_in_millis
(длинное целое число) Время в миллисекундах, когда закончился процесс создания моментального снимка.
duration_in_millis
(длинное целое число) Время выполнения создания моментального снимка в миллисекундах.
failures
(массив) Список любых ошибок, возникших при создании моментального снимка.
shards

(объект) Содержит подсчёт фрагментов в моментальном снимке.

Свойства shards
total
(целое число) Общее количество фрагментов, включённых в моментальный снимок.
successful
(целое число) Количество фрагментов, успешно включенных в моментальный снимок.
failed
(целое число) Количество фрагментов, которые не удалось включить в моментальный снимок.
state

(строка) Статус моментального снимка state может принимать следующие значения:

Значения для state
IN_PROGRESS
Моментальный снимок выполняется в данный момент.
SUCCESS
Моментальный снимок завершён, и все фрагменты были успешно сохранены.
FAILED
Моментальный снимок завершён с ошибкой и не удалось сохранить какие-либо данные.
PARTIAL
Глобальное состояние кластера было сохранено, но данные по крайней мере одного фрагмента не были сохранены успешно. Раздел failures ответа содержит более подробную информацию об ошибочно обработанных фрагментах.
next
(строка) Если запрос содержал ограничение по размеру и может быть больше результатов, в ответ будет добавлен поле next, которое можно использовать в качестве параметра запроса after для получения дополнительных результатов.
total
(целое число) Общее количество моментальных снимков, соответствующих запросу, при игнорировании ограничения по размеру или параметра запроса after.
remaining
(целое число) Количество оставшихся моментальных снимков, которые не были возвращены из-за ограничений по размеру и которые могут быть получены дополнительными запросами с использованием значения поля next.

Примеры

Следующий запрос возвращает информацию для snapshot_2 в репозитории my_repository.

GET /_snapshot/my_repository/snapshot_2

API возвращает следующий ответ:

{
  "snapshots": [
    {
      "snapshot": "snapshot_2",
      "uuid": "vdRctLCxSketdKb54xw67g",
      "repository": "my_repository",
      "version_id": <version_id>,
      "version": <version>,
      "indices": [],
      "data_streams": [],
      "feature_states": [],
      "include_global_state": true,
      "state": "SUCCESS",
      "start_time": "2020-07-06T21:55:18.129Z",
      "start_time_in_millis": 1593093628850,
      "end_time": "2020-07-06T21:55:18.129Z",
      "end_time_in_millis": 1593094752018,
      "duration_in_millis": 0,
      "failures": [],
      "shards": {
        "total": 0,
        "failed": 0,
        "successful": 0
      }
    }
  ],
  "total": 1,
  "remaining": 0
}

Следующий запрос возвращает информацию обо всех моментальных снимках с префиксом snapshot в репозитории my_repository, ограничивая размер ответа 2 и сортируя по имени моментального снимка.

GET /_snapshot/my_repository/snapshot*?size=2&sort=name

API возвращает следующий ответ:

{
  "snapshots": [
    {
      "snapshot": "snapshot_1",
      "uuid": "dKb54xw67gvdRctLCxSket",
      "repository": "my_repository",
      "version_id": <version_id>,
      "version": <version>,
      "indices": [],
      "data_streams": [],
      "feature_states": [],
      "include_global_state": true,
      "state": "SUCCESS",
      "start_time": "2020-07-06T21:55:18.129Z",
      "start_time_in_millis": 1593093628850,
      "end_time": "2020-07-06T21:55:18.129Z",
      "end_time_in_millis": 1593094752018,
      "duration_in_millis": 0,
      "failures": [],
      "shards": {
        "total": 0,
        "failed": 0,
        "successful": 0
      }
    },
    {
      "snapshot": "snapshot_2",
      "uuid": "vdRctLCxSketdKb54xw67g",
      "repository": "my_repository",
      "version_id": <version_id>,
      "version": <version>,
      "indices": [],
      "data_streams": [],
      "feature_states": [],
      "include_global_state": true,
      "state": "SUCCESS",
      "start_time": "2020-07-06T21:55:18.130Z",
      "start_time_in_millis": 1593093628851,
      "end_time": "2020-07-06T21:55:18.130Z",
      "end_time_in_millis": 1593094752019,
      "duration_in_millis": 1,
      "failures": [],
      "shards": {
        "total": 0,
        "failed": 0,
        "successful": 0
      }
    }
  ],
  "next": "c25hcHNob3RfMixteV9yZXBvc2l0b3J5LHNuYXBzaG90XzI=",
  "total": 3,
  "remaining": 1
}

Затем можно выполнить последующий запрос для оставшихся моментальных снимков, используя значение next из предыдущего ответа в качестве параметра after.

GET /_snapshot/my_repository/snapshot*?size=2&sort=name&after=c25hcHNob3RfMixteV9yZXBvc2l0b3J5LHNuYXBzaG90XzI=

API возвращает следующий ответ:

{
  "snapshots": [
    {
      "snapshot": "snapshot_3",
      "uuid": "dRctdKb54xw67gvLCxSket",
      "repository": "my_repository",
      "version_id": <version_id>,
      "version": <version>,
      "indices": [],
      "data_streams": [],
      "feature_states": [],
      "include_global_state": true,
      "state": "SUCCESS",
      "start_time": "2020-07-06T21:55:18.129Z",
      "start_time_in_millis": 1593093628850,
      "end_time": "2020-07-06T21:55:18.129Z",
      "end_time_in_millis": 1593094752018,
      "duration_in_millis": 0,
      "failures": [],
      "shards": {
        "total": 0,
        "failed": 0,
        "successful": 0
      }
    }
  ],
  "total": 3,
  "remaining": 0
}

В качестве альтернативы, тот же результат можно получить, используя значение смещения 2 для пропуска двух уже увиденных моментальных снимков.

GET /_snapshot/my_repository/snapshot*?size=2&sort=name&offset=2

API возвращает следующий ответ:

{
  "snapshots": [
    {
      "snapshot": "snapshot_3",
      "uuid": "dRctdKb54xw67gvLCxSket",
      "repository": "my_repository",
      "version_id": <version_id>,
      "version": <version>,
      "indices": [],
      "data_streams": [],
      "feature_states": [],
      "include_global_state": true,
      "state": "SUCCESS",
      "start_time": "2020-07-06T21:55:18.129Z",
      "start_time_in_millis": 1593093628850,
      "end_time": "2020-07-06T21:55:18.129Z",
      "end_time_in_millis": 1593094752018,
      "duration_in_millis": 0,
      "failures": [],
      "shards": {
        "total": 0,
        "failed": 0,
        "successful": 0
      }
    }
  ],
  "total": 3,
  "remaining": 0
}

Следующий запрос возвращает информацию обо всех моментальных снимках с префиксом snapshot в репозитории my_repository, кроме моментального снимка с именем snapshot_3.

GET /_snapshot/my_repository/snapshot*,-snapshot_3?sort=name

API возвращает следующий ответ:

{
  "snapshots": [
    {
      "snapshot": "snapshot_1",
      "uuid": "dKb54xw67gvdRctLCxSket",
      "repository": "my_repository",
      "version_id": <version_id>,
      "version": <version>,
      "indices": [],
      "data_streams": [],
      "feature_states": [],
      "include_global_state": true,
      "state": "SUCCESS",
      "start_time": "2020-07-06T21:55:18.129Z",
      "start_time_in_millis": 1593093628850,
      "end_time": "2020-07-06T21:55:18.129Z",
      "end_time_in_millis": 1593094752018,
      "duration_in_millis": 0,
      "failures": [],
      "shards": {
        "total": 0,
        "failed": 0,
        "successful": 0
      }
    },
    {
      "snapshot": "snapshot_2",
      "uuid": "vdRctLCxSketdKb54xw67g",
      "repository": "my_repository",
      "version_id": <version_id>,
      "version": <version>,
      "indices": [],
      "data_streams": [],
      "feature_states": [],
      "include_global_state": true,
      "state": "SUCCESS",
      "start_time": "2020-07-06T21:55:18.130Z",
      "start_time_in_millis": 1593093628851,
      "end_time": "2020-07-06T21:55:18.130Z",
      "end_time_in_millis": 1593094752019,
      "duration_in_millis": 1,
      "failures": [],
      "shards": {
        "total": 0,
        "failed": 0,
        "successful": 0
      }
    }
  ],
  "total": 2,
  "remaining": 0
}

Следующий запрос возвращает информацию обо всех моментальных снимках, которые следуют за snapshot_2 при сортировке по имени моментального снимка в стандартном порядке возрастания.

GET /_snapshot/my_repository/*?sort=name&from_sort_value=snapshot_2

API возвращает следующий ответ:

{
  "snapshots": [
    {
      "snapshot": "snapshot_2",
      "uuid": "vdRctLCxSketdKb54xw67g",
      "repository": "my_repository",
      "version_id": <version_id>,
      "version": <version>,
      "indices": [],
      "data_streams": [],
      "feature_states": [],
      "include_global_state": true,
      "state": "SUCCESS",
      "start_time": "2020-07-06T21:55:18.130Z",
      "start_time_in_millis": 1593093628851,
      "end_time": "2020-07-06T21:55:18.130Z",
      "end_time_in_millis": 1593094752019,
      "duration_in_millis": 1,
      "failures": [],
      "shards": {
        "total": 0,
        "failed": 0,
        "successful": 0
      }
    },
    {
      "snapshot": "snapshot_3",
      "uuid": "dRctdKb54xw67gvLCxSket",
      "repository": "my_repository",
      "version_id": <version_id>,
      "version": <version>,
      "indices": [],
      "data_streams": [],
      "feature_states": [],
      "include_global_state": true,
      "state": "SUCCESS",
      "start_time": "2020-07-06T21:55:18.129Z",
      "start_time_in_millis": 1593093628850,
      "end_time": "2020-07-06T21:55:18.129Z",
      "end_time_in_millis": 1593094752018,
      "duration_in_millis": 0,
      "failures": [],
      "shards": {
        "total": 0,
        "failed": 0,
        "successful": 0
      }
    }
  ],
  "total": 2,
  "remaining": 0
}

Следующий запрос возвращает информацию обо всех моментальных снимках с именами, начинающимися с snapshot_ и начатыми в или после отметки времени 1577833200000 (1 января 2020 г.) при сортировке по времени начала моментального снимка в стандартном порядке возрастания.

GET /_snapshot/my_repository/snapshot_*?sort=start_time&from_sort_value=1577833200000

API возвращает следующий ответ:

{
  "snapshots": [
    {
      "snapshot": "snapshot_1",
      "uuid": "dKb54xw67gvdRctLCxSket",
      "repository": "my_repository",
      "version_id": <version_id>,
      "version": <version>,
      "indices": [],
      "data_streams": [],
      "feature_states": [],
      "include_global_state": true,
      "state": "SUCCESS",
      "start_time": "2020-07-06T21:55:18.128Z",
      "start_time_in_millis": 1593093628849,
      "end_time": "2020-07-06T21:55:18.129Z",
      "end_time_in_millis": 1593093628850,
      "duration_in_millis": 1,
      "failures": [],
      "shards": {
        "total": 0,
        "failed": 0,
        "successful": 0
      }
    },
    {
      "snapshot": "snapshot_2",
      "uuid": "vdRctLCxSketdKb54xw67g",
      "repository": "my_repository",
      "version_id": <version_id>,
      "version": <version>,
      "indices": [],
      "data_streams": [],
      "feature_states": [],
      "include_global_state": true,
      "state": "SUCCESS",
      "start_time": "2020-07-06T21:55:18.130Z",
      "start_time_in_millis": 1593093628851,
      "end_time": "2020-07-06T21:55:18.130Z",
      "end_time_in_millis": 1593093628851,
      "duration_in_millis": 0,
      "failures": [],
      "shards": {
        "total": 0,
        "failed": 0,
        "successful": 0
      }
    },
    {
      "snapshot": "snapshot_3",
      "uuid": "dRctdKb54xw67gvLCxSket",
      "repository": "my_repository",
      "version_id": <version_id>,
      "version": <version>,
      "indices": [],
      "data_streams": [],
      "feature_states": [],
      "include_global_state": true,
      "state": "SUCCESS",
      "start_time": "2020-07-06T21:55:18.131Z",
      "start_time_in_millis": 1593093628852,
      "end_time": "2020-07-06T21:55:18.135Z",
      "end_time_in_millis": 1593093628856,
      "duration_in_millis": 4,
      "failures": [],
      "shards": {
        "total": 0,
        "failed": 0,
        "successful": 0
      }
    }
  ],
  "total": 3,
  "remaining": 0
}

© 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/get-snapshot-api.html

Spec-Zone.ru

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