索引生命周期管理(ILM)
- class elasticsearch.client.IlmClient
To use this client, access
client.ilm
from anElasticsearch
client. For example:from elasticsearch import Elasticsearch # Create the client instance client = Elasticsearch(...) # Use the ilm client client.ilm.<method>(...)
- delete_lifecycle(*, name, error_trace=None, filter_path=None, human=None, master_timeout=None, pretty=None, timeout=None)
删除生命周期策略。 无法删除当前正在使用的策略。如果该策略正用于管理任何索引,请求将失败并返回错误。
https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ilm-delete-lifecycle
- Parameters:
- Return type:
- explain_lifecycle(*, index, error_trace=None, filter_path=None, human=None, master_timeout=None, only_errors=None, only_managed=None, pretty=None)
解释生命周期状态。 获取一个或多个索引的当前生命周期状态。 对于数据流,API会检索该流后备索引的当前生命周期状态。
响应会显示索引进入每个生命周期状态的时间,提供运行阶段的定义,以及有关任何失败的信息。
https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ilm-explain-lifecycle
- Parameters:
index (str) – 以逗号分隔的目标数据流、索引和别名列表。 支持通配符(*)。要针对所有数据流和索引,请使用`*` 或`_all`。
master_timeout (str | Literal[-1] | ~typing.Literal[0] | None) – 等待连接主节点的超时时间。如果 在超时前未收到响应,请求将失败并返回错误。
only_errors (bool | None) – 将返回的索引过滤为仅包含由ILM管理 且处于错误状态的索引,这些错误可能是由于执行策略时遇到错误, 或尝试使用不存在的策略导致的。
only_managed (bool | None) – 将返回的索引过滤为仅包含由ILM管理的索引。
error_trace (bool | None)
human (bool | None)
pretty (bool | None)
- Return type:
- get_lifecycle(*, name=None, error_trace=None, filter_path=None, human=None, master_timeout=None, pretty=None, timeout=None)
获取生命周期策略。
https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ilm-get-lifecycle
- Parameters:
- Return type:
- get_status(*, error_trace=None, filter_path=None, human=None, pretty=None)
获取ILM状态。
获取当前索引生命周期管理状态。
https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ilm-get-status
- migrate_to_data_tiers(*, dry_run=None, error_trace=None, filter_path=None, human=None, legacy_template_to_delete=None, master_timeout=None, node_attribute=None, pretty=None, body=None)
迁移到数据层路由。 将索引、ILM策略以及旧版、可组合和组件模板从使用自定义节点属性和基于属性的分配过滤器切换到使用数据层。 可选地删除一个旧版索引模板。 使用节点角色使ILM能够自动在数据层之间移动索引。
从自定义节点属性路由迁移可以手动执行。 此API提供了一种自动执行迁移指南中列出的四个手动步骤中的三个步骤的方法:
- 停止在新索引上设置自定义热属性。
- 从现有ILM策略中移除自定义分配设置。
- 将现有索引中的自定义分配设置替换为相应的层偏好设置。
执行迁移前必须停止ILM。 使用停止ILM和获取ILM状态API等待报告的操作模式变为
STOPPED
。https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ilm-migrate-to-data-tiers
- Parameters:
dry_run (bool | None) – 如果为true,则模拟从基于节点属性的分配 过滤器到数据层的迁移,但不执行实际迁移。这提供了一种 检索需要迁移的索引和ILM策略的方法。
legacy_template_to_delete (str | None)
master_timeout (str | Literal[-1] | ~typing.Literal[0] | None) – 等待连接主节点的超时时间。 如果在超时前未收到响应,请求将失败并返回错误。也可以设置为`-1`表示 请求永不超时。
node_attribute (str | None)
error_trace (bool | None)
human (bool | None)
pretty (bool | None)
- Return type:
- move_to_step(*, index, current_step=None, next_step=None, error_trace=None, filter_path=None, human=None, pretty=None, body=None)
移动到生命周期步骤。 手动将索引移动到生命周期策略中的特定步骤并执行该步骤。
警告:此操作可能导致数据丢失。手动将索引移动到特定步骤会执行该步骤,即使该步骤已经执行过。这是一个潜在的破坏性操作,应视为专家级API。
必须在请求体中同时指定当前步骤和要执行的步骤。 如果当前步骤与索引当前运行的步骤不匹配,请求将失败。 这是为了防止索引从未预期的步骤移动到下一步骤。
指定索引要移动到的目标步骤(
next_step
)时,名称或action和name字段都是可选的。 如果仅指定阶段,索引将移动到目标阶段第一个动作的第一个步骤。 如果指定了阶段和动作,索引将移动到指定阶段指定动作的第一个步骤。 只有ILM策略中指定的动作才被视为有效。 索引不能移动到不属于其策略的步骤。https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ilm-move-to-step
- Parameters:
- Return type:
- put_lifecycle(*, name, error_trace=None, filter_path=None, human=None, master_timeout=None, policy=None, pretty=None, timeout=None, body=None)
创建或更新生命周期策略。 如果指定的策略已存在,则替换该策略并增加策略版本号。
注意:只存储策略的最新版本,无法回退到之前的版本。
https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ilm-put-lifecycle
- Parameters:
- Return type:
- remove_policy(*, index, error_trace=None, filter_path=None, human=None, pretty=None)
从索引中移除策略。 移除分配给索引或数据流后备索引的生命周期策略。 同时停止管理这些索引。
https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ilm-remove-policy
- retry(*, index, error_trace=None, filter_path=None, human=None, pretty=None)
重试策略。 对处于ERROR步骤的索引重新运行生命周期策略。 该API将策略重置到发生错误的步骤并重新运行该步骤。 使用解释生命周期状态API来确定索引是否处于ERROR步骤。
https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ilm-retry
- start(*, error_trace=None, filter_path=None, human=None, master_timeout=None, pretty=None, timeout=None)
启动ILM插件。 如果当前已停止,则启动索引生命周期管理插件。 集群形成时ILM会自动启动。 只有在使用停止ILM API停止后,才需要重新启动ILM。
https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ilm-start
- Parameters:
- Return type:
- stop(*, error_trace=None, filter_path=None, human=None, master_timeout=None, pretty=None, timeout=None)
停止 ILM 插件。 中止所有生命周期管理操作并停止索引生命周期管理插件。 这在您对集群执行维护且需要阻止 ILM 对索引执行任何操作时非常有用。
API 会在停止请求被确认后立即返回,但插件可能会继续运行直到进行中的操作完成且插件可以安全停止。 使用获取 ILM 状态 API 来检查 ILM 是否仍在运行。
https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ilm-stop