停止汇总作业 API
编辑停止汇总作业 API
编辑在 8.11.0 中已弃用。
汇总将在未来的版本中移除。请改用降采样。
停止一个已存在的,已启动的汇总作业。
请求
编辑POST _rollup/job/<job_id>/_stop
先决条件
编辑- 如果启用了 Elasticsearch 安全功能,您必须拥有
manage
或manage_rollup
集群权限才能使用此 API。有关更多信息,请参阅安全权限。
描述
编辑如果您尝试停止一个不存在的作业,则会发生异常。如果您尝试停止一个已经停止的作业,则不会发生任何事情。
路径参数
编辑-
<job_id>
- (必需,字符串)汇总作业的标识符。
查询参数
编辑-
timeout
-
(可选,TimeValue)如果
wait_for_completion
为true
,则 API 在等待作业停止时会阻塞(最多)指定的持续时间。如果超过timeout
时间,API 将抛出超时异常。默认为30s
。即使抛出超时异常,停止请求仍在处理中,并最终将作业移动到
STOPPED
。超时仅表示 API 调用本身在等待状态更改时超时。 -
wait_for_completion
- (可选,布尔值)如果设置为
true
,则会导致 API 阻塞,直到索引器状态完全停止。如果设置为false
,则 API 立即返回,并且索引器在后台异步停止。默认为false
。
响应代码
编辑-
404
(缺少资源) - 此代码表示没有与请求匹配的资源。如果您尝试停止一个不存在的作业,则会发生此情况。
示例
编辑由于只能删除已停止的作业,因此阻塞 API 直到索引器完全停止可能会很有用。这可以通过 wait_for_completion
查询参数和可选的 timeout
来实现
resp = client.rollup.stop_job( id="sensor", wait_for_completion=True, timeout="10s", ) print(resp)
response = client.rollup.stop_job( id: 'sensor', wait_for_completion: true, timeout: '10s' ) puts response
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
该参数会阻止 API 调用返回,直到作业移动到 STOPPED
或指定的时长过去。如果指定的时长过去,但作业没有移动到 STOPPED
,则会抛出超时异常。