ロールアップジョブの停止API

8.11.0で非推奨。

ロールアップは将来のバージョンで削除されます。代わりにダウンサンプリングを使用してください。

既存の開始されたロールアップジョブを停止します。

リクエスト

POST _rollup/job/<job_id>/_stop

前提条件

  • Elasticsearchのセキュリティ機能が有効になっている場合、このAPIを使用するにはmanageまたはmanage_rollupのクラスター権限が必要です。詳細についてはセキュリティ権限を参照してください。

説明

存在しないジョブを停止しようとすると、例外が発生します。すでに停止しているジョブを停止しようとすると、何も起こりません。

パスパラメータ

  • <job_id>
  • (必須、文字列)ロールアップジョブの識別子。

クエリパラメータ

  • timeout
  • (オプション、TimeValue)wait_for_completiontrueの場合、APIはジョブが停止するのを待つ間、指定された期間(最大)ブロックします。timeoutの時間が経過すると、APIはタイムアウト例外をスローします。デフォルトは30sです。
    タイムアウト例外がスローされても、停止リクエストはまだ処理中であり、最終的にジョブはSTOPPEDに移動します。タイムアウトは、単にAPI呼び出し自体が状態変更を待っている間にタイムアウトしたことを意味します。
  • wait_for_completion
  • (オプション、Boolean)trueに設定すると、APIはインデクサーの状態が完全に停止するまでブロックします。falseに設定すると、APIは即座に返し、インデクサーはバックグラウンドで非同期に停止します。デフォルトはfalseです。

レスポンスコード

  • 404(リソースが見つかりません)
  • このコードは、リクエストに一致するリソースがないことを示します。存在しないジョブを停止しようとすると発生します。

停止されたジョブのみが削除できるため、インデクサーが完全に停止するまでAPIをブロックすることが有用です。これは、wait_for_completionクエリパラメータを使用して実現され、オプションでtimeoutを使用します:

Python

  1. resp = client.rollup.stop_job(
  2. id="sensor",
  3. wait_for_completion=True,
  4. timeout="10s",
  5. )
  6. print(resp)

Ruby

  1. response = client.rollup.stop_job(
  2. id: 'sensor',
  3. wait_for_completion: true,
  4. timeout: '10s'
  5. )
  6. puts response

Js

  1. const response = await client.rollup.stopJob({
  2. id: "sensor",
  3. wait_for_completion: "true",
  4. timeout: "10s",
  5. });
  6. console.log(response);

コンソール

  1. POST _rollup/job/sensor/_stop?wait_for_completion=true&timeout=10s

このパラメータは、ジョブがSTOPPEDに移動するか、指定された時間が経過するまでAPI呼び出しの返却をブロックします。指定された時間が経過してもジョブがSTOPPEDに移動しない場合、タイムアウト例外がスローされます。