启动数据源 API
有关最新的 API 详情,请参阅 机器学习异常检测 API。
启动一个或多个数据源。
请求
POST _ml/datafeeds/<feed_id>/_start
前置条件
- 启动数据源之前,异常检测作业必须处于打开状态。否则,将发生错误。
- 需要
manage_ml集群权限。此权限包含在machine_learning_admin内置角色中。
描述
数据源必须启动才能从 Elasticsearch 检索数据。数据源在其生命周期中可以被多次启动和停止。
如果重新启动已停止的数据源,默认情况下它从停止后的下一毫秒继续处理输入数据。如果在停止和启动之间为该确切毫秒索引了新数据,这些数据将被忽略。
当启用了 Elasticsearch 安全功能时,数据源会记住最后创建或更新它的用户在创建/更新时拥有的角色,并使用这些角色运行查询。如果在创建或更新数据源时提供了辅助授权头,则使用这些凭据。
路径参数
<feed_id>(必需,字符串)唯一标识数据源的数字字符串。此标识符可以包含小写字母数字字符(a-z 和 0-9)、短横线和下划线。必须以字母数字字符开头和结尾。
查询参数
end(可选,字符串)数据源应该结束的时间,可以使用以下格式之一指定:
- 带毫秒的 ISO 8601 格式,例如
2017-01-22T06:00:00.000Z - 不带毫秒的 ISO 8601 格式,例如
2017-01-22T06:00:00+00:00 - 自纪元以来的毫秒数,例如
1485061200000
使用 ISO 8601 格式的日期时间参数必须包含时区标识符,其中
Z被接受为 UTC 时间的缩写。当期望使用 URL 时(例如在浏览器中),时区标识符中使用的
+必须编码为%2B。此值不包含在内。如果不指定结束时间,数据源持续运行。
- 带毫秒的 ISO 8601 格式,例如
start(可选,字符串)数据源应该开始的时间,可以使用与
end参数相同的格式指定。此值包含在内。如果不指定开始时间且数据源关联的是新的异常检测作业,分析从最早有可用数据的时间开始。
如果重新启动已停止的数据源且指定的
start值早于最新已处理记录的时间戳,数据源从最新已处理记录时间戳之后 1 毫秒继续。timeout(可选,时间值)指定等待数据源启动的时间。默认值为 20 秒。
请求体
你也可以在请求体中指定查询参数(如 end 和 start)。
响应体
node(字符串)数据源启动的节点 ID。如果数据源允许惰性打开且尚未分配到节点,此值为空字符串。
started(布尔值)对于成功的响应,此值始终为
true。失败时,返回异常。
示例
POST _ml/datafeeds/datafeed-low_request_rate/_start
{
"start": "2019-04-07T18:22:16Z"
}
数据源启动后,你收到以下结果:
{
"started" : true,
"node" : "node-1"
}