アップグレード変換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
resp = client.transform.upgrade_transforms()
print(resp)
Ruby
response = client.transform.upgrade_transforms
puts response
Js
const response = await client.transform.upgradeTransforms();
console.log(response);
コンソール
POST _transform/_upgrade
コンソール-結果
{
"needs_update": 0,
"updated": 2,
"no_action": 1
}