停止数据馈送 API编辑

停止一个或多个数据馈送。

请求编辑

POST _ml/datafeeds/<feed_id>/_stop

POST _ml/datafeeds/<feed_id>,<feed_id>/_stop

POST _ml/datafeeds/_all/_stop

先决条件编辑

需要 manage_ml 集群权限。此权限包含在 machine_learning_admin 内置角色中。

描述编辑

已停止的数据馈送将停止从 Elasticsearch 检索数据。数据馈送在其生命周期内可以多次启动和停止。

路径参数编辑

<feed_id>
(必填,字符串)数据馈送的标识符。您可以通过使用逗号分隔的数据馈送列表或通配符表达式,在单个 API 请求中停止多个数据馈送。您可以使用 _all 或指定 * 作为标识符来关闭所有数据馈送。

查询参数编辑

allow_no_match

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

  • 包含通配符表达式,但没有匹配的数据馈送时该怎么办。
  • 包含 _all 字符串或没有标识符,并且没有匹配项时该怎么办。
  • 包含通配符表达式,但只有部分匹配项时该怎么办。

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

force
(可选,布尔值)如果为 true,则强制停止数据馈送。
timeout
(可选,时间)指定等待数据馈送停止的时间。默认值为 20 秒。

请求正文编辑

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

响应代码编辑

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

示例编辑

response = client.ml.stop_datafeed(
  datafeed_id: 'datafeed-low_request_rate',
  body: {
    timeout: '30s'
  }
)
puts response
POST _ml/datafeeds/datafeed-low_request_rate/_stop
{
  "timeout": "30s"
}

当数据馈送停止时,您将收到以下结果

{
  "stopped": true
}