異常検出ジョブのクローズ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_match
や force
など)を指定することもできます。
レスポンスコード
404
(リソースが見つかりません)allow_no_match
がfalse
の場合、このコードはリクエストに一致するリソースがないか、リクエストに対して部分一致のみがあることを示します。
例
Python
resp = client.ml.close_job(
job_id="low_request_rate",
)
print(resp)
Ruby
response = client.ml.close_job(
job_id: 'low_request_rate'
)
puts response
Js
const response = await client.ml.closeJob({
job_id: "low_request_rate",
});
console.log(response);
コンソール
POST _ml/anomaly_detectors/low_request_rate/_close
コンソール-結果
{
"closed": true
}