创建或更新快照生命周期策略 API
编辑创建或更新快照生命周期策略 API编辑
创建或更新快照生命周期策略。
请求编辑
PUT /_slm/policy/<snapshot-lifecycle-policy-id>
先决条件编辑
如果启用了 Elasticsearch 安全功能,则您必须具有 manage_slm
集群权限和对任何包含索引的 manage
索引权限才能使用此 API。有关更多信息,请参阅安全权限。
路径参数编辑
-
<snapshot-lifecycle-policy-id>
- (必填,字符串)要创建或更新的快照生命周期策略的 ID。
查询参数编辑
请求正文编辑
-
config
-
(必填,对象)策略创建的每个快照的配置。
config
的属性-
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 字节。
-
-
name
- (必填,字符串)自动分配给策略创建的每个快照的名称。支持日期数学。为了防止快照名称冲突,会自动将 UUID 附加到每个快照名称。
-
repository
- (必填,字符串)用于存储此策略创建的快照的存储库。此存储库必须在创建策略之前存在。您可以使用快照存储库 API 创建存储库。
-
retention
-
(可选,对象)用于保留和删除策略创建的快照的保留规则。
retention
的属性-
expire_after
- (可选,时间单位)在此时间段之后,快照被视为已过期并且可以删除。SLM 根据
slm.retention_schedule
删除过期的快照。 -
max_count
- (可选,整数)要保留的最大快照数,即使快照尚未过期。如果存储库中的快照数量超过此限制,则策略会保留最新的快照并删除较旧的快照。此限制仅包括
state
为SUCCESS
的快照。 -
min_count
- (可选,整数)要保留的最小快照数,即使快照已过期。
-
-
schedule
- (必填,Cron 语法)策略创建快照的定期或绝对计划。SLM 会立即应用
schedule
更改。
示例编辑
创建 daily-snapshots
生命周期策略
PUT /_slm/policy/daily-snapshots { "schedule": "0 30 1 * * ?", "name": "<daily-snap-{now/d}>", "repository": "my_repository", "config": { "indices": ["data-*", "important"], "ignore_unavailable": false, "include_global_state": false }, "retention": { "expire_after": "30d", "min_count": 5, "max_count": 50 } }