迁移到数据层路由 API
编辑迁移到数据层路由 API
编辑将索引、ILM 策略以及旧版、可组合和组件模板从使用自定义节点属性和基于属性的分配过滤器切换为使用数据层,并可选择删除一个旧版索引模板。使用节点角色使 ILM 能够自动在数据层之间移动索引。
如将索引分配过滤器迁移到节点角色页面中所示,可以手动执行从自定义节点属性路由的迁移。
此 API 提供了一种自动执行迁移指南中列出的四个手动步骤中的三个的方法
- 停止在新索引上设置自定义 hot 属性
- 从现有 ILM 策略中删除自定义分配设置
- 使用相应的层偏好替换现有索引中的自定义分配设置
请求
编辑POST /_ilm/migrate_to_data_tiers
此 API 接受一个可选的请求体,允许您指定
- 要删除的旧版索引模板名称。默认为无。
- 用于索引和 ILM 策略分配过滤的自定义节点属性的名称。默认为
data
。
先决条件
编辑- 必须先停止 ILM 才能执行迁移。使用停止 ILM API停止 ILM,并使用获取状态 API等待直到报告的操作模式为
STOPPED
。
查询参数
编辑-
dry_run
- (可选,布尔值)如果为
true
,则模拟从基于节点属性的分配过滤器到数据层的迁移,但不执行迁移。这提供了一种检索需要迁移的索引和 ILM 策略的方法。默认为false
。
当模拟迁移时(即 dry_run
为 true
),无需停止 ILM。
示例
编辑以下示例将索引、ILM 策略、旧版模板、可组合模板和组件模板从使用 custom_attribute_name
节点属性定义自定义分配过滤的方式进行迁移,并删除系统中存在的名为 global-template
的旧版模板。
resp = client.ilm.migrate_to_data_tiers( legacy_template_to_delete="global-template", node_attribute="custom_attribute_name", ) print(resp)
response = client.ilm.migrate_to_data_tiers( body: { legacy_template_to_delete: 'global-template', node_attribute: 'custom_attribute_name' } ) puts response
const response = await client.ilm.migrateToDataTiers({ legacy_template_to_delete: "global-template", node_attribute: "custom_attribute_name", }); console.log(response);
POST /_ilm/migrate_to_data_tiers { "legacy_template_to_delete": "global-template", "node_attribute": "custom_attribute_name" }
如果请求成功,将收到如下响应
{ "dry_run": false, "removed_legacy_template":"global-template", "migrated_ilm_policies":["policy_with_allocate_action"], "migrated_indices":["warm-index-to-migrate-000001"], "migrated_legacy_templates":["a-legacy-template"], "migrated_composable_templates":["a-composable-template"], "migrated_component_templates":["a-component-template"] }
显示已删除的旧版索引模板的名称。如果未删除旧版索引模板,则将缺少此项。 |
|
已更新的 ILM 策略。 |
|
已迁移到层偏好路由的索引。 |
|
已更新为不包含所提供的数据属性的自定义路由设置的旧版索引模板。 |
|
已更新为不包含所提供的数据属性的自定义路由设置的可组合索引模板。 |
|
已更新为不包含所提供的数据属性的自定义路由设置的组件模板。 |