モデルスナップショットのアップグレードAPI

異常検知モデルのスナップショットを最新のメジャーバージョンにアップグレードします。

Elasticsearch 8.10.0以降、機械学習プラグインの設定と状態の変更を追跡するために新しいバージョン番号が使用されます。この新しいバージョン番号は製品バージョンから切り離されており、独立して増加します。

リクエスト

POST _ml/anomaly_detectors/<job_id>/model_snapshots/<snapshot_id>/_upgrade

前提条件

  • manage_ml クラスタ特権が必要です。この特権は machine_learning_admin ビルトインロールに含まれています。
  • アップグレードされたスナップショットは、前のメジャーバージョンと一致するバージョンでなければなりません。
  • アップグレードされたスナップショットは、現在の異常検知ジョブのスナップショットであってはなりません。

説明

時間が経つにつれて、古いスナップショット形式は非推奨となり、削除されます。異常検知ジョブは、現在または前のメジャーバージョンからのスナップショットのみをサポートします。

このAPIは、スナップショットを現在のメジャーバージョンにアップグレードする手段を提供します。これは、次のメジャーバージョンへのアップグレードのためにクラスタを準備するのに役立ちます。

異常検知ジョブごとに一度にアップグレードできるスナップショットは1つだけであり、アップグレードされたスナップショットは異常検知ジョブの現在のスナップショットであってはなりません。

パスパラメータ

  • <job_id>
  • (必須、文字列) 異常検知ジョブの識別子。
  • <snapshot_id>
  • (必須、文字列) モデルスナップショットの識別子。

クエリパラメータ

  • timeout
  • (オプション、時間) リクエストが完了するまでの待機時間を制御します。デフォルト値は30分です。
  • wait_for_completion
  • (オプション、ブール値) trueの場合、アップグレードが完了するまでAPIは応答しません。それ以外の場合、アップグレードタスクがノードに割り当てられるとすぐに応答します。デフォルトはfalseです。

レスポンスボディ

  • node
  • (文字列) アップグレードタスクがまだ実行中の場合、割り当てられたノードのID。
  • completed
  • (ブール値) trueの場合、タスクが完了したことを意味します。falseの場合、まだ実行中です。

Python

  1. resp = client.ml.upgrade_job_snapshot(
  2. job_id="low_request_rate",
  3. snapshot_id="1828371",
  4. timeout="45m",
  5. wait_for_completion=True,
  6. )
  7. print(resp)

Js

  1. const response = await client.ml.upgradeJobSnapshot({
  2. job_id: "low_request_rate",
  3. snapshot_id: 1828371,
  4. timeout: "45m",
  5. wait_for_completion: "true",
  6. });
  7. console.log(response);

コンソール

  1. POST _ml/anomaly_detectors/low_request_rate/model_snapshots/1828371/_upgrade?timeout=45m&wait_for_completion=true

スナップショットのアップグレードが開始されると、次の結果が得られます:

コンソール-結果

  1. {
  2. "completed" : false,
  3. "node" : "node-1"
  4. }