创建或更新生命周期策略 API
编辑创建或更新生命周期策略 API编辑
创建或更新生命周期策略。有关策略组件的定义,请参见 索引生命周期。
请求编辑
PUT _ilm/policy/<policy_id>
先决条件编辑
- 如果启用了 Elasticsearch 安全功能,则必须具有
manage_ilm
集群权限才能使用此 API。您还必须对由policy
管理的所有索引具有manage
索引权限。ILM 以最后更新策略的用户身份执行操作。ILM 仅具有在上次策略更新时分配给用户的 角色。
路径参数编辑
-
<policy_id>
-
(必需,字符串) 策略的标识符。
为了避免与内置和 Fleet 管理的 ILM 策略发生命名冲突,请避免在您自己的 ILM 策略的 ID 中使用
@
。
查询参数编辑
示例编辑
以下示例创建了一个名为 my_policy
的新策略。此外,您可以使用 _meta
参数向策略添加任意元数据,_meta
参数是可选的,并且不会由 Elasticsearch 自动生成或使用。要取消设置 _meta
,请在不指定的情况下替换策略。要检查 _meta
,您可以使用 获取生命周期策略 API。
response = client.ilm.put_lifecycle( policy: 'my_policy', body: { policy: { _meta: { description: 'used for nginx log', project: { name: 'myProject', department: 'myDepartment' } }, phases: { warm: { min_age: '10d', actions: { forcemerge: { max_num_segments: 1 } } }, delete: { min_age: '30d', actions: { delete: {} } } } } } ) puts response
PUT _ilm/policy/my_policy { "policy": { "_meta": { "description": "used for nginx log", "project": { "name": "myProject", "department": "myDepartment" } }, "phases": { "warm": { "min_age": "10d", "actions": { "forcemerge": { "max_num_segments": 1 } } }, "delete": { "min_age": "30d", "actions": { "delete": {} } } } } }
如果请求成功,您将收到以下结果
{ "acknowledged": true }