跳到主要内容

升级转换 API

升级所有转换(包括存储在 .transform-internal* 索引中的内部配置),使其与当前集群版本兼容。

POST _transform/_upgrade

前置条件​

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

描述​

  • 转换在次要版本之间以及受支持的主要版本之间是兼容的,但转换配置格式可能会随时间变化。
  • 此 API 识别具有旧配置格式的转换,并将它们升级到最新版本,包括清理存储转换状态和检查点的内部数据结构。
  • 升级不会影响源索引和目标索引。
  • 从 Elasticsearch 8.10.0 开始,使用一个新的版本号来跟踪转换插件中的配置和状态更改;该版本与产品版本解耦并独立递增。
  • 失败行为:如果某个升级步骤失败,升级会停止并返回一个描述底层问题的错误。解决该问题后重新运行此过程。升级完成时会返回一个摘要。
重要

集群升级指南:为了让持续运行的转换在主要版本升级期间(例如 7.16 → 8.0)保持运行,请在升级集群之前升级转换。建议事先进行最近的集群备份。

注意

安全说明:启用安全功能后,转换会记住最后创建/更新它的用户的角色。与更新转换 API 不同,升级不会更改存储的角色 — 用于读取源数据和写入目标索引的角色保持不变。

查询参数​

dry_run

(可选,布尔值)如果为 true,则仅检查更新而不执行更新。默认为 false。

timeout

(可选,时间值)等待响应的期限;如果超时期限到期,则请求失败并返回错误。默认为 30s。

响应体​

needs_update

(整数)需要升级的转换数量。

no_action

(整数)不需要升级的转换数量。

updated

(整数)已升级的转换数量。

示例​

以下示例升级所有转换:

POST _transform/_upgrade

所有转换都已升级时的响应示例:

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

原文链接