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. Состояние кластера включает: -
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