升级转换 API

编辑

升级所有转换。

请求

编辑

POST _transform/_upgrade

先决条件

编辑

需要以下权限

  • 集群:manage_transform (内置的 transform_admin 角色授予此权限)

描述

编辑

转换在次要版本之间以及受支持的主要版本之间兼容。但是,随着时间的推移,转换配置信息的格式可能会发生变化。此 API 识别具有旧配置格式的转换,并将其升级到最新版本;包括清理存储转换状态和检查点的内部数据结构。转换升级不会影响源索引和目标索引。

从 Elasticsearch 8.10.0 开始,使用新的版本号来跟踪转换插件中的配置和状态更改。这个新的版本号与产品版本解耦,并将独立递增。

如果转换升级步骤失败,升级将停止,并返回有关底层问题的错误。解决问题后,重新运行该过程。升级完成后,将返回摘要。

为确保在集群的主要版本升级期间(例如,从 7.16 到 8.0)连续转换保持运行,建议在升级集群之前升级转换。您可能需要在升级之前执行最近的集群备份。

  • 启用 Elasticsearch 安全功能后,您的转换会记住上次创建或更新它的用户的角色。与 更新转换 相反,转换升级不会更改存储的角色,因此用于读取源数据和写入目标索引的角色保持不变。

查询参数

编辑
dry_run
(可选,布尔值) 当 true 时,仅检查更新,但不执行更新。默认为 false
timeout
(可选,时间) 等待响应的时间段。如果在超时到期之前未收到响应,则请求失败并返回错误。默认为 30s

响应体

编辑
needs_update
(整数) 需要升级的转换数量。
no_action
(整数) 不需要升级的转换数量。
updated
(整数) 已升级的转换数量。

示例

编辑

要将旧转换升级到最新的配置格式,请执行以下 API 调用

resp = client.transform.upgrade_transforms()
print(resp)
response = client.transform.upgrade_transforms
puts response
const response = await client.transform.upgradeTransforms();
console.log(response);
POST _transform/_upgrade

当所有转换都升级后,您将收到摘要

{
  "needs_update": 0,
  "updated": 2,
  "no_action": 1
}