创建快照 API
编辑创建快照 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
查询参数
编辑-
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 个字节。
示例
编辑以下请求获取 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 } } }