关闭异常检测作业 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 内置角色中。

描述编辑

作业在其生命周期中可以多次打开和关闭。

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

如果关闭数据馈送正在运行的异常检测作业,则请求首先尝试停止数据馈送。此行为等效于使用与关闭作业请求相同的 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,则此代码表示没有资源与请求匹配,或者请求只有部分匹配。

示例编辑

response = client.ml.close_job(
  job_id: 'low_request_rate'
)
puts response
POST _ml/anomaly_detectors/low_request_rate/_close

当作业关闭时,您会收到以下结果

{
  "closed": true
}