移动到生命周期步骤 API
有关最新的 API 详情,请参阅 移动到生命周期步骤 API。
触发生命周期策略中特定步骤的执行。
请求
POST _ilm/move/<index>
前置条件
描述
此操作可能导致数据丢失。手动将索引移入特定步骤会执行该步骤,即使该步骤已经执行过。这是一个潜在破坏性操作,应被视为专家级 API。
手动将索引移入指定步骤并执行该步骤。你必须在请求体中同时指定当前步骤和要执行的步骤。
如果当前步骤与索引当前正在执行的步骤不匹配,请求将失败。这是为了防止索引从意外的步骤被移到下一步。
指定索引要移动到的目标(next_step)时,name 或同时使用 action 和 name 字段是可选的。如果仅指定阶段(phase),索引将移动到目标阶段中第一个操作的第一个步骤。如果指定了阶段和操作(action),索引将移动到指定阶段中指定操作的第一个步骤。只有 ILM 策略中指定的操作才被视为有效,索引不能移动到不属于其策略的步骤。
路径参数
<index>(必需,字符串)索引的标识符。
查询参数
master_timeout(可选,时间单位)等待主节点的时间。如果主节点在超时到期前不可用,请求将失败并返回错误。默认为 30s。也可以设置为 -1,表示请求永不超时。
timeout(可选,时间单位)更新集群元数据后等待集群中所有相关节点响应的时间。如果在超时到期前未收到响应,集群元数据更新仍然生效,但响应将指示未完全确认。默认为 30s。也可以设置为 -1,表示请求永不超时。
请求体
current_step(必需,对象)
current_step的属性:phase(必需,字符串)当前阶段的名称。必须与解释 API 返回的阶段匹配。
action(必需,字符串)当前操作的名称。必须与解释 API 返回的操作匹配。
name(必需,字符串)当前步骤的名称。必须与解释 API 返回的步骤匹配。如果 ILM 在执行操作时遇到问题,它会暂停策略的执行并转换到 ERROR 步骤。如果你在故障排除后尝试推进策略,可以将此 ERROR 步骤指定为当前步骤。有关更多信息,请参阅 ILM 错误处理。
next_step(必需,对象)
next_step的属性:phase(必需,字符串)包含你要执行或恢复的操作所在阶段的名称。
action(可选,字符串)你要执行或恢复的操作的名称。如果使用了
name则为必需。name(可选,字符串)要移动到并执行的步骤的名称。如果使用了
action则为必需。
示例
以下示例将 my-index-000001 从初始步骤移动到 forcemerge 步骤:
POST _ilm/move/my-index-000001
{
"current_step": {
"phase": "new",
"action": "complete",
"name": "complete"
},
"next_step": {
"phase": "warm",
"action": "forcemerge",
"name": "forcemerge"
}
}
- 索引预期所处的步骤。
- 你要执行的步骤。
- 索引将移动到的可选操作。
- 索引将移动到的可选步骤名称。
如果请求成功,你将收到以下结果:
{
"acknowledged": true
}
如果索引不在 current_step 指定的 new 阶段,请求将失败。
以下示例将 my-index-000001 从 hot 阶段末尾推入 warm 阶段开头:
POST _ilm/move/my-index-000001
{
"current_step": {
"phase": "hot",
"action": "complete",
"name": "complete"
},
"next_step": {
"phase": "warm"
}
}