获取计划事件 API编辑

检索日历中计划事件的信息。

请求编辑

GET _ml/calendars/<calendar_id>/events

GET _ml/calendars/_all/events

先决条件编辑

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

描述编辑

有关更多信息,请参阅 日历和计划事件

路径参数编辑

<calendar_id>

(必需,字符串) 唯一标识日历的字符串。

您可以通过使用逗号分隔的 ID 列表或通配符表达式,在单个 API 请求中获取多个日历的计划事件信息。您可以通过使用 _all* 作为日历标识符来获取所有日历的计划事件信息。

查询参数编辑

end
(可选,字符串) 指定获取时间戳早于此时间的事件。
from
(可选,整数) 跳过指定数量的事件。默认为 0
job_id
(可选,字符串) 指定获取特定异常检测作业标识符或作业组的事件。它必须与 _all* 的日历标识符一起使用。
size
(可选,整数) 指定要获取的最大事件数。默认为 100
start
(可选,字符串) 指定获取时间戳晚于此时间的事件。

请求正文编辑

您也可以在请求正文中指定查询参数;例外是 fromsize,使用 page 代替

page
page 的属性
from
(可选,整数) 跳过指定数量的事件。默认为 0
size
(可选,整数) 指定要获取的最大事件数。默认为 100

响应正文编辑

API 返回一个计划事件资源数组,这些资源具有以下属性

calendar_id
(字符串) 唯一标识日历的字符串。
description
(字符串) 计划事件的描述。
end_time
(日期) 计划事件结束时间戳,以自纪元以来的毫秒数或 ISO 8601 格式表示。
event_id
(字符串) 计划事件的自动生成标识符。
start_time
(日期) 计划事件开始时间戳,以自纪元以来的毫秒数或 ISO 8601 格式表示。

示例编辑

response = client.ml.get_calendar_events(
  calendar_id: 'planned-outages'
)
puts response
GET _ml/calendars/planned-outages/events

API 返回以下结果

{
  "count": 3,
  "events": [
    {
      "description": "event 1",
      "start_time": 1513641600000,
      "end_time": 1513728000000,
      "calendar_id": "planned-outages",
      "event_id": "LS8LJGEBMTCMA-qz49st"
    },
    {
      "description": "event 2",
      "start_time": 1513814400000,
      "end_time": 1513900800000,
      "calendar_id": "planned-outages",
      "event_id": "Li8LJGEBMTCMA-qz49st"
    },
    {
      "description": "event 3",
      "start_time": 1514160000000,
      "end_time": 1514246400000,
      "calendar_id": "planned-outages",
      "event_id": "Ly8LJGEBMTCMA-qz49st"
    }
  ]
}

以下示例检索在特定时间段内发生的计划事件

response = client.ml.get_calendar_events(
  calendar_id: 'planned-outages',
  start: 1_635_638_400_000,
  end: 1_635_724_800_000
)
puts response
GET _ml/calendars/planned-outages/events?start=1635638400000&end=1635724800000