ロールアップジョブの停止API
8.11.0で非推奨。
ロールアップは将来のバージョンで削除されます。代わりにダウンサンプリングを使用してください。
既存の開始されたロールアップジョブを停止します。
リクエスト
POST _rollup/job/<job_id>/_stop
前提条件
- Elasticsearchのセキュリティ機能が有効になっている場合、このAPIを使用するには
manage
またはmanage_rollup
のクラスター権限が必要です。詳細についてはセキュリティ権限を参照してください。
説明
存在しないジョブを停止しようとすると、例外が発生します。すでに停止しているジョブを停止しようとすると、何も起こりません。
パスパラメータ
<job_id>
- (必須、文字列)ロールアップジョブの識別子。
クエリパラメータ
timeout
- (オプション、TimeValue)
wait_for_completion
がtrue
の場合、APIはジョブが停止するのを待つ間、指定された期間(最大)ブロックします。timeout
の時間が経過すると、APIはタイムアウト例外をスローします。デフォルトは30s
です。
タイムアウト例外がスローされても、停止リクエストはまだ処理中であり、最終的にジョブはSTOPPED
に移動します。タイムアウトは、単にAPI呼び出し自体が状態変更を待っている間にタイムアウトしたことを意味します。 wait_for_completion
- (オプション、Boolean)
true
に設定すると、APIはインデクサーの状態が完全に停止するまでブロックします。false
に設定すると、APIは即座に返し、インデクサーはバックグラウンドで非同期に停止します。デフォルトはfalse
です。
レスポンスコード
404
(リソースが見つかりません)- このコードは、リクエストに一致するリソースがないことを示します。存在しないジョブを停止しようとすると発生します。
例
停止されたジョブのみが削除できるため、インデクサーが完全に停止するまでAPIをブロックすることが有用です。これは、wait_for_completion
クエリパラメータを使用して実現され、オプションでtimeout
を使用します:
Python
resp = client.rollup.stop_job(
id="sensor",
wait_for_completion=True,
timeout="10s",
)
print(resp)
Ruby
response = client.rollup.stop_job(
id: 'sensor',
wait_for_completion: true,
timeout: '10s'
)
puts response
Js
const response = await client.rollup.stopJob({
id: "sensor",
wait_for_completion: "true",
timeout: "10s",
});
console.log(response);
コンソール
POST _rollup/job/sensor/_stop?wait_for_completion=true&timeout=10s
このパラメータは、ジョブがSTOPPED
に移動するか、指定された時間が経過するまでAPI呼び出しの返却をブロックします。指定された時間が経過してもジョブがSTOPPED
に移動しない場合、タイムアウト例外がスローされます。