データフィードAPIの開始

1つ以上のデータフィードを開始します。

リクエスト

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 としてエンコードする必要があります。
      この値は排他的です。終了時刻を指定しない場合、データフィードは継続的に実行されます。
  • start
  • (オプション、文字列) データフィードが開始すべき時刻。これは end パラメータと同じ形式を使用して指定できます。この値は包括的です。
    開始時刻を指定せず、データフィードが新しい異常検出ジョブに関連付けられている場合、分析は利用可能なデータの最も早い時刻から開始されます。
    停止したデータフィードを再起動し、最新の処理済みレコードのタイムスタンプよりも早い start 値を指定した場合、データフィードは最新の処理済みレコードのタイムスタンプの1ミリ秒後から続行されます。
  • timeout
  • (オプション、時間) データフィードが開始するまでの待機時間を指定します。デフォルト値は20秒です。

リクエストボディ

リクエストボディ内でクエリパラメータ(endstartなど)を指定することもできます。

レスポンスボディ

  • node
  • (文字列) データフィードが開始されたノードのID。データフィードが遅延オープンを許可されており、まだノードに割り当てられていない場合、この値は空の文字列です。
  • started
  • (ブール値) 成功したレスポンスの場合、この値は常に true です。失敗した場合は、代わりに例外が返されます。

Python

  1. resp = client.ml.start_datafeed(
  2. datafeed_id="datafeed-low_request_rate",
  3. start="2019-04-07T18:22:16Z",
  4. )
  5. print(resp)

Js

  1. const response = await client.ml.startDatafeed({
  2. datafeed_id: "datafeed-low_request_rate",
  3. start: "2019-04-07T18:22:16Z",
  4. });
  5. console.log(response);

コンソール

  1. POST _ml/datafeeds/datafeed-low_request_rate/_start
  2. {
  3. "start": "2019-04-07T18:22:16Z"
  4. }

データフィードが開始されると、次の結果が得られます:

コンソール-結果

  1. {
  2. "started" : true,
  3. "node" : "node-1"
  4. }