创建或更新生命周期策略 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
的情况下替换策略。要检查 _meta
,您可以使用获取生命周期策略 API。
resp = client.ilm.put_lifecycle( name="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": {} } } } }, ) print(resp)
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
const response = await client.ilm.putLifecycle({ name: "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: {}, }, }, }, }, }); console.log(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 }