停止汇总作业 API

编辑

在 8.11.0 中已弃用。

汇总将在未来的版本中移除。请改用降采样

停止一个已存在的,已启动的汇总作业。

请求

编辑

POST _rollup/job/<job_id>/_stop

先决条件

编辑
  • 如果启用了 Elasticsearch 安全功能,您必须拥有 managemanage_rollup 集群权限才能使用此 API。有关更多信息,请参阅安全权限

描述

编辑

如果您尝试停止一个不存在的作业,则会发生异常。如果您尝试停止一个已经停止的作业,则不会发生任何事情。

路径参数

编辑
<job_id>
(必需,字符串)汇总作业的标识符。

查询参数

编辑
timeout

(可选,TimeValue)如果 wait_for_completiontrue,则 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,则会抛出超时异常。