迁移到数据层路由 API

编辑

将索引、ILM 策略以及旧版、可组合和组件模板从使用自定义节点属性和基于属性的分配过滤器切换为使用数据层,并可选择删除一个旧版索引模板。使用节点角色使 ILM 能够自动在数据层之间移动索引

将索引分配过滤器迁移到节点角色页面中所示,可以手动执行从自定义节点属性路由的迁移。

此 API 提供了一种自动执行迁移指南中列出的四个手动步骤中的三个的方法

请求

编辑

POST /_ilm/migrate_to_data_tiers

此 API 接受一个可选的请求体,允许您指定

  • 要删除的旧版索引模板名称。默认为无。
  • 用于索引和 ILM 策略分配过滤的自定义节点属性的名称。默认为 data

先决条件

编辑

查询参数

编辑
dry_run
(可选,布尔值)如果为 true,则模拟从基于节点属性的分配过滤器到数据层的迁移,但不执行迁移。这提供了一种检索需要迁移的索引和 ILM 策略的方法。默认为 false

当模拟迁移时(即 dry_runtrue),无需停止 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 策略。

已迁移到层偏好路由的索引。

已更新为不包含所提供的数据属性的自定义路由设置的旧版索引模板。

已更新为不包含所提供的数据属性的自定义路由设置的可组合索引模板。

已更新为不包含所提供的数据属性的自定义路由设置的组件模板。