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

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

Новая справка по API

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

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

resp = client.snapshot.status()
print(resp)
response = client.snapshot.status
puts response
const response = await client.snapshot.status();
console.log(response);
GET _snapshot/_status

Запрос

GET _snapshot/_status

GET _snapshot/<repository>/_status

GET _snapshot/<repository>/<snapshot>/_status

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

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

Описание

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

Если вы опустите параметр пути запроса <snapshot>, запрос вернет только информацию о текущих моментальных снимках. Это предпочтительный вариант использования.

При необходимости, вы можете указать <repository> и <snapshot>, чтобы получить информацию о конкретных моментальных снимках, даже если они не выполняются в данный момент.

Использование API для получения статуса моментальных снимков, отличных от текущих, может быть дорогостоящим. API требует чтения из репозитория для каждого фрагмента в каждом моментальном снимке. Например, если у вас есть 100 моментальных снимков с 1000 фрагментами каждый, запрос API, включающий все моментальные снимки, потребует 100 000 чтений (100 снимков * 1000 фрагментов).

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

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

<repository>
(Необязательно, строка) Название репозитория моментальных снимков, используемое для ограничения запроса. Поддерживает подстановки (*), если не указан параметр <snapshot>.
<snapshot>
(Необязательно, строка) Список моментальных снимков, разделенных запятыми, для получения статуса. По умолчанию используются текущие моментальные снимки. Подстановки (*) не поддерживаются.

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

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

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

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

Тело ответа

repository
(строка) Название репозитория, который содержит моментальную копию.
snapshot
(строка) Название моментальной копии.
uuid
(строка) Универсальный уникальный идентификатор (UUID) моментальной копии.
state

(строка) Указывает текущее состояние моментальной копии.

Значения для state
FAILED
Моментальная копия завершилась с ошибкой и не смогла сохранить данные.
STARTED
Моментальная копия выполняется в данный момент.
SUCCESS
Моментальная копия завершена.
include_global_state
(Булево) Указывает, включено ли текущее состояние кластера в моментальную копию.
shards_stats

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

Свойства shards_stats
initializing
(целое число) Количество фрагментов, которые все еще инициализируются.
started
(целое число) Количество фрагментов, которые начаты, но не завершены.
finalizing
(целое число) Количество фрагментов, которые завершаются, но еще не завершены.
done
(целое число) Количество фрагментов, которые были инициализированы, начаты и успешно завершены.
failed
(целое число) Количество фрагментов, которые не были включены в моментальную копию.
total
(целое число) Общее количество фрагментов, включенных в моментальную копию.
stats

(объект) Предоставляет подробную информацию о количестве (file_count) и размере (size_in_bytes) файлов, включенных в моментальную копию.

Свойства stats
incremental

(объект) Количество и размер файлов, которые все еще необходимо скопировать как часть инкрементной моментальной копии.

Для завершенных моментальных копий этот параметр указывает количество и размер файлов, которые еще не были в репозитории и были скопированы как часть инкрементной моментальной копии.

processed
(объект) Количество и размер файлов, которые уже загружены в моментальную копию. После загрузки файла обработанные file_count и size_in_bytes увеличиваются в stats.
total
(объект) Общее количество и размер файлов, на которые ссылается моментальная копия.
start_time_in_millis
(длинное целое число) Время начала процесса создания моментальной копии в миллисекундах.
time_in_millis
(длинное целое число) Общее время завершения процесса создания моментальной копии в миллисекундах.
<index>

(список объектов) Список объектов, содержащих информацию об индексах, включенных в моментальную копию.

Свойства <index>
shards_stats
(объект) См. shards_stats.
stats
(объект) См. stats.
shards

(список объектов) Список объектов, содержащих информацию о фрагментах, которые включают моментальную копию.

Свойства shards
stage

(строка) Указывает текущее состояние фрагментов, которые включают моментальную копию.

Свойства stage
DONE
Количество фрагментов в моментальной копии, которые были успешно сохранены в репозитории.
FAILURE
Количество фрагментов в моментальной копии, которые не были успешно сохранены в репозитории.
FINALIZE
Количество фрагментов в моментальной копии, которые находятся на стадии завершения сохранения в репозитории.
INIT
Количество фрагментов в моментальной копии, которые находятся на стадии инициализации сохранения в репозитории.
STARTED
Количество фрагментов в моментальной копии, которые находятся на стадии запуска сохранения в репозитории.
stats
(объект) См. stats.
total
(объект) Общее количество и размер файлов, на которые ссылается моментальная копия.
start_time_in_millis
(длинное целое число) См. start_time_in_millis.
time_in_millis
(длинное целое число) См. time_in_millis.

Пример

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

resp = client.snapshot.status(
    repository="my_repository",
    snapshot="snapshot_2",
)
print(resp)
response = client.snapshot.status(
  repository: 'my_repository',
  snapshot: 'snapshot_2'
)
puts response
const response = await client.snapshot.status({
  repository: "my_repository",
  snapshot: "snapshot_2",
});
console.log(response);
GET _snapshot/my_repository/snapshot_2/_status
{
  "snapshots" : [
    {
      "snapshot" : "snapshot_2",
      "repository" : "my_repository",
      "uuid" : "lNeQD1SvTQCqqJUMQSwmGg",
      "state" : "SUCCESS",
      "include_global_state" : false,
      "shards_stats" : {
        "initializing" : 0,
        "started" : 0,
        "finalizing" : 0,
        "done" : 1,
        "failed" : 0,
        "total" : 1
      },
      "stats" : {
        "incremental" : {
          "file_count" : 3,
          "size_in_bytes" : 5969
        },
        "total" : {
          "file_count" : 4,
          "size_in_bytes" : 6024
        },
        "start_time_in_millis" : 1594829326691,
        "time_in_millis" : 205
      },
      "indices" : {
        "index_1" : {
          "shards_stats" : {
            "initializing" : 0,
            "started" : 0,
            "finalizing" : 0,
            "done" : 1,
            "failed" : 0,
            "total" : 1
          },
          "stats" : {
            "incremental" : {
              "file_count" : 3,
              "size_in_bytes" : 5969
            },
            "total" : {
              "file_count" : 4,
              "size_in_bytes" : 6024
            },
            "start_time_in_millis" : 1594829326896,
            "time_in_millis" : 0
          },
          "shards" : {
            "0" : {
              "stage" : "DONE",
              "stats" : {
                "incremental" : {
                  "file_count" : 3,
                  "size_in_bytes" : 5969
                },
                "total" : {
                  "file_count" : 4,
                  "size_in_bytes" : 6024
                },
                "start_time_in_millis" : 1594829326896,
                "time_in_millis" : 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/8.17/get-snapshot-status-api.html

Spec-Zone.ru

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