アップグレード変換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呼び出しを実行します:

Python

  1. resp = client.transform.upgrade_transforms()
  2. print(resp)

Ruby

  1. response = client.transform.upgrade_transforms
  2. puts response

Js

  1. const response = await client.transform.upgradeTransforms();
  2. console.log(response);

コンソール

  1. POST _transform/_upgrade

すべての変換がアップグレードされると、要約が返されます:

コンソール-結果

  1. {
  2. "needs_update": 0,
  3. "updated": 2,
  4. "no_action": 1
  5. }