スケジュールされたイベント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形式でのスケジュールされたイベントの開始時刻のタイムスタンプです。

Python

  1. resp = client.ml.get_calendar_events(
  2. calendar_id="planned-outages",
  3. )
  4. print(resp)

Ruby

  1. response = client.ml.get_calendar_events(
  2. calendar_id: 'planned-outages'
  3. )
  4. puts response

Js

  1. const response = await client.ml.getCalendarEvents({
  2. calendar_id: "planned-outages",
  3. });
  4. console.log(response);

コンソール

  1. GET _ml/calendars/planned-outages/events

APIは次の結果を返します:

コンソール-結果

  1. {
  2. "count": 3,
  3. "events": [
  4. {
  5. "description": "event 1",
  6. "start_time": 1513641600000,
  7. "end_time": 1513728000000,
  8. "calendar_id": "planned-outages",
  9. "event_id": "LS8LJGEBMTCMA-qz49st"
  10. },
  11. {
  12. "description": "event 2",
  13. "start_time": 1513814400000,
  14. "end_time": 1513900800000,
  15. "calendar_id": "planned-outages",
  16. "event_id": "Li8LJGEBMTCMA-qz49st"
  17. },
  18. {
  19. "description": "event 3",
  20. "start_time": 1514160000000,
  21. "end_time": 1514246400000,
  22. "calendar_id": "planned-outages",
  23. "event_id": "Ly8LJGEBMTCMA-qz49st"
  24. }
  25. ]
  26. }

次の例は、特定の期間内に発生するスケジュールされたイベントを取得します:

Python

  1. resp = client.ml.get_calendar_events(
  2. calendar_id="planned-outages",
  3. start="1635638400000",
  4. end="1635724800000",
  5. )
  6. print(resp)

Ruby

  1. response = client.ml.get_calendar_events(
  2. calendar_id: 'planned-outages',
  3. start: 1_635_638_400_000,
  4. end: 1_635_724_800_000
  5. )
  6. puts response

Js

  1. const response = await client.ml.getCalendarEvents({
  2. calendar_id: "planned-outages",
  3. start: 1635638400000,
  4. end: 1635724800000,
  5. });
  6. console.log(response);

コンソール

  1. GET _ml/calendars/planned-outages/events?start=1635638400000&end=1635724800000