关闭异常检测任务 API

编辑

关闭一个或多个异常检测任务。

请求

编辑

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 内置角色中。

描述

编辑

一个任务在其生命周期中可以多次打开和关闭。

关闭的任务无法接收数据或执行分析操作,但您仍然可以浏览和导航结果。

如果您关闭数据馈送正在运行的异常检测任务,则请求会首先尝试停止数据馈送。此行为等效于调用 停止数据馈送 API,并使用与关闭任务请求相同的 timeoutforce 参数。

当您关闭一个任务时,它会运行诸如修剪模型历史记录、刷新缓冲区、计算最终结果和持久化模型快照之类的清理任务。根据任务的大小,关闭可能需要几分钟的时间,重新打开也需要相同的时间。

关闭后,除了维护其元数据外,该任务对集群的开销最小。因此,最佳做法是关闭不再需要处理数据的任务。

当具有指定结束日期的数据馈送停止时,它会自动关闭其关联的任务。

如果您使用 force 查询参数,则请求将返回,而不会执行关联的操作,例如刷新缓冲区和持久化模型快照。因此,如果您希望在关闭任务 API 返回后任务处于一致状态,则不要使用此参数。 force 查询参数应仅用于任务已失败,或者您对任务最近可能产生或将来可能产生的结果不感兴趣的情况。

路径参数

编辑
<job_id>

(必需,字符串)异常检测任务的标识符。它可以是任务标识符、组名称或通配符表达式。

您可以使用 _all 或指定 * 作为任务标识符来关闭所有任务。

查询参数

编辑
allow_no_match

(可选,布尔值)指定当请求

  • 包含通配符表达式且没有匹配的任务时要执行的操作。
  • 包含 _all 字符串或没有标识符且没有匹配项时要执行的操作。
  • 包含通配符表达式且只有部分匹配项时要执行的操作。

默认值为 true,当没有匹配项时返回一个空的 jobs 数组,当有部分匹配项时返回结果的子集。如果此参数为 false,则当没有匹配项或只有部分匹配项时,请求将返回 404 状态代码。

force
(可选,布尔值)用于关闭失败的任务,或强制关闭未响应其初始关闭请求的任务。
timeout
(可选,时间单位)控制等待任务关闭的时间。默认值为 30 分钟。

请求正文

编辑

您还可以在请求正文中指定查询参数(例如 allow_no_matchforce)。

响应代码

编辑
404 (缺少资源)
如果 allow_no_matchfalse,则此代码表示没有与请求匹配的资源,或者请求只有部分匹配项。

示例

编辑
resp = client.ml.close_job(
    job_id="low_request_rate",
)
print(resp)
response = client.ml.close_job(
  job_id: 'low_request_rate'
)
puts response
const response = await client.ml.closeJob({
  job_id: "low_request_rate",
});
console.log(response);
POST _ml/anomaly_detectors/low_request_rate/_close

当任务关闭时,您将收到以下结果

{
  "closed": true
}