Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›REST API ›Snapshot и восстановление API

API создания снимка

Справочник нового API

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

Создаёт снимок кластера или указанных потоков данных и индексов.

resp = client.snapshot.create(
    repository="my_repository",
    snapshot="my_snapshot",
)
print(resp)
response = client.snapshot.create(
  repository: 'my_repository',
  snapshot: 'my_snapshot'
)
puts response
const response = await client.snapshot.create({
  repository: "my_repository",
  snapshot: "my_snapshot",
});
console.log(response);
PUT /_snapshot/my_repository/my_snapshot

Запрос

PUT /_snapshot/<repository>/<snapshot>

POST /_snapshot/<repository>/<snapshot>

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

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

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

<repository>
(Обязательный, строка) Имя хранилища снимка.
<snapshot>
(Обязательный, строка) Имя снимка. Поддерживает математику дат. Должно быть уникальным в пределах хранилища снимков.

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

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

Тело запроса

expand_wildcards

(Необязательный, строка) Определяет, как шаблоны подстановок в параметре indices сопоставляют потоки данных и индексы. Поддерживает значения, разделённые запятыми, например, open,hidden. По умолчанию all. Допустимые значения:

all
Сопоставлять любые потоки данных или индексы, включая закрытые и скрытые.
open
Сопоставлять открытые индексы и потоки данных.
closed
Сопоставлять закрытые индексы и потоки данных.
hidden
Сопоставлять скрытые потоки данных и индексы. Должно быть комбинировано с open, closed или обоими.
none
Не расширять шаблоны подстановок.
ignore_unavailable
(Необязательный, булево) Если false, снимок завершается неудачей, если какой-либо поток данных или индекс в indices отсутствует. Если true, снимок игнорирует отсутствующие потоки данных и индексы. По умолчанию false.
include_global_state

(Необязательный, булево) Если true, включить состояние кластера в снимок. По умолчанию true. Состояние кластера включает:

  • Постоянные настройки кластера
  • Шаблоны индексов
  • Шаблоны индексов (старый способ)
  • Потоки обработки
  • Политики управления жизненным циклом индексов
  • Хранящиеся скрипты
  • Для снимков, сделанных после 7.12.0, состояния функций
indices

(Необязательный, строка или массив строк) Список потоков данных и индексов, разделяемых запятыми, для включения в снимок. Поддерживает синтаксис множественных целей. По умолчанию пустой массив ([]), который включает все обычные потоки данных и обычные индексы. Для исключения всех потоков данных и индексов используйте -*.

Вы не можете использовать этот параметр для включения или исключения системных индексов или системных потоков данных из снимка. Используйте вместо этого feature_states.

feature_states

(Необязательный, массив строк) Состояния функций для включения в снимок. Чтобы получить список возможных значений и их описаний, используйте API получения функций.

Если include_global_state равно true, снимок по умолчанию включает все состояния функций. Если include_global_state равно false, снимок по умолчанию не включает никаких состояний функций.

Обратите внимание, что указание пустого массива приведет к поведению по умолчанию. Чтобы исключить все состояния функций, независимо от значения include_global_state, укажите массив только со значением none (["none"]).

metadata
(Необязательный, объект) Прикрепляет произвольные метаданные к снимку, такие как запись о том, кто сделал снимок, почему он был сделан или любые другие полезные данные. Метаданные должны быть меньше 1024 байт.
partial

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

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

Примеры

Следующий запрос создаёт снимок index_1 и index_2.

resp = client.snapshot.create(
    repository="my_repository",
    snapshot="snapshot_2",
    wait_for_completion=True,
    indices="index_1,index_2",
    ignore_unavailable=True,
    include_global_state=False,
    metadata={
        "taken_by": "user123",
        "taken_because": "backup before upgrading"
    },
)
print(resp)
response = client.snapshot.create(
  repository: 'my_repository',
  snapshot: 'snapshot_2',
  wait_for_completion: true,
  body: {
    indices: 'index_1,index_2',
    ignore_unavailable: true,
    include_global_state: false,
    metadata: {
      taken_by: 'user123',
      taken_because: 'backup before upgrading'
    }
  }
)
puts response
const response = await client.snapshot.create({
  repository: "my_repository",
  snapshot: "snapshot_2",
  wait_for_completion: "true",
  indices: "index_1,index_2",
  ignore_unavailable: true,
  include_global_state: false,
  metadata: {
    taken_by: "user123",
    taken_because: "backup before upgrading",
  },
});
console.log(response);
PUT /_snapshot/my_repository/snapshot_2?wait_for_completion=true
{
  "indices": "index_1,index_2",
  "ignore_unavailable": true,
  "include_global_state": false,
  "metadata": {
    "taken_by": "user123",
    "taken_because": "backup before upgrading"
  }
}

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

{
  "snapshot": {
    "snapshot": "snapshot_2",
    "uuid": "vdRctLCxSketdKb54xw67g",
    "repository": "my_repository",
    "version_id": <version_id>,
    "version": <version>,
    "indices": [],
    "data_streams": [],
    "feature_states": [],
    "include_global_state": false,
    "metadata": {
      "taken_by": "user123",
      "taken_because": "backup before upgrading"
    },
    "state": "SUCCESS",
    "start_time": "2020-06-25T14:00:28.850Z",
    "start_time_in_millis": 1593093628850,
    "end_time": "2020-06-25T14:00:28.850Z",
    "end_time_in_millis": 1593094752018,
    "duration_in_millis": 0,
    "failures": [],
    "shards": {
      "total": 0,
      "failed": 0,
      "successful": 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/create-snapshot-api.html

Spec-Zone.ru

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