获取计划事件 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
(日期) 计划事件结束的时间戳,以自 epoch 以来的毫秒数或 ISO 8601 格式表示。
event_id
(字符串) 计划事件的自动生成的标识符。
start_time
(日期) 计划事件开始的时间戳,以自 epoch 以来的毫秒数或 ISO 8601 格式表示。

示例

编辑
resp = client.ml.get_calendar_events(
    calendar_id="planned-outages",
)
print(resp)
response = client.ml.get_calendar_events(
  calendar_id: 'planned-outages'
)
puts response
const response = await client.ml.getCalendarEvents({
  calendar_id: "planned-outages",
});
console.log(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"
    }
  ]
}

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

resp = client.ml.get_calendar_events(
    calendar_id="planned-outages",
    start="1635638400000",
    end="1635724800000",
)
print(resp)
response = client.ml.get_calendar_events(
  calendar_id: 'planned-outages',
  start: 1_635_638_400_000,
  end: 1_635_724_800_000
)
puts response
const response = await client.ml.getCalendarEvents({
  calendar_id: "planned-outages",
  start: 1635638400000,
  end: 1635724800000,
});
console.log(response);
GET _ml/calendars/planned-outages/events?start=1635638400000&end=1635724800000