異常検出ジョブのクローズAPI

1つ以上の異常検出ジョブをクローズします。

リクエスト

POST _ml/anomaly_detectors/<job_id>/_close

POST _ml/anomaly_detectors/<job_id>,<job_id>/_close

POST _ml/anomaly_detectors/_all/_close

前提条件

  • manage_ml クラスター権限が必要です。この権限は machine_learning_admin ビルトインロールに含まれています。

説明

ジョブはそのライフサイクルの中で複数回オープンおよびクローズできます。

クローズされたジョブはデータを受信したり分析操作を実行したりできませんが、結果を探索したりナビゲートしたりすることはできます。

データフィードが実行中の異常検出ジョブをクローズすると、リクエストは最初にデータフィードを停止しようとします。この動作は、クローズジョブリクエストと同じ timeout および force パラメータを使用して データフィードを停止する を呼び出すことに相当します。

ジョブをクローズすると、モデル履歴のプルーニング、バッファのフラッシュ、最終結果の計算、モデルスナップショットの永続化などのハウスキーピングタスクが実行されます。ジョブのサイズに応じて、クローズするのに数分かかることがあり、再オープンするのにも同様の時間がかかることがあります。

クローズされた後、ジョブはメタデータを維持する以外はクラスターに対して最小限のオーバーヘッドを持ちます。したがって、データを処理する必要がなくなったジョブはクローズすることがベストプラクティスです。

指定された終了日を持つデータフィードが停止すると、自動的に関連するジョブがクローズされます。

force クエリパラメータを使用すると、リクエストはバッファのフラッシュやモデルスナップショットの永続化などの関連するアクションを実行せずに返されます。したがって、クローズジョブAPIが返された後にジョブを一貫した状態にしたい場合は、このパラメータを使用しないでください。force クエリパラメータは、ジョブがすでに失敗している場合や、最近生成された結果や将来生成される可能性のある結果に興味がない場合にのみ使用する必要があります。

パスパラメータ

  • <job_id>
  • (必須、文字列) 異常検出ジョブの識別子。ジョブ識別子、グループ名、またはワイルドカード式である可能性があります。
    _all を使用するか、ジョブ識別子として * を指定することで、すべてのジョブをクローズできます。

クエリパラメータ

  • allow_no_match
  • (オプション、Boolean) リクエスト時に何をするかを指定します:
    • ワイルドカード式を含み、一致するジョブがない場合。
    • _all 文字列を含むか、識別子がない場合で、一致がない場合。
    • ワイルドカード式を含み、部分一致のみがある場合。
      デフォルト値は true で、一致がない場合は空の jobs 配列を返し、部分一致がある場合は結果のサブセットを返します。このパラメータが false の場合、一致がないか部分一致のみの場合は 404 ステータスコードを返します。
  • force
  • (オプション、Boolean) 失敗したジョブをクローズするため、または初期のクローズリクエストに応答しなかったジョブを強制的にクローズするために使用します。
  • timeout
  • (オプション、時間単位) ジョブがクローズするまでの待機時間を制御します。デフォルト値は30分です。

リクエストボディ

リクエストボディ内でクエリパラメータ(allow_no_matchforce など)を指定することもできます。

レスポンスコード

  • 404 (リソースが見つかりません)
  • allow_no_matchfalse の場合、このコードはリクエストに一致するリソースがないか、リクエストに対して部分一致のみがあることを示します。

Python

  1. resp = client.ml.close_job(
  2. job_id="low_request_rate",
  3. )
  4. print(resp)

Ruby

  1. response = client.ml.close_job(
  2. job_id: 'low_request_rate'
  3. )
  4. puts response

Js

  1. const response = await client.ml.closeJob({
  2. job_id: "low_request_rate",
  3. });
  4. console.log(response);

コンソール

  1. POST _ml/anomaly_detectors/low_request_rate/_close

ジョブがクローズされると、次の結果が得られます:

コンソール-結果

  1. {
  2. "closed": true
  3. }