データフィードの停止 API

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

リクエスト

POST _ml/datafeeds/<feed_id>/_stop

POST _ml/datafeeds/<feed_id>,<feed_id>/_stop

POST _ml/datafeeds/_all/_stop

前提条件

manage_ml クラスター権限が必要です。この権限は machine_learning_admin ビルトインロールに含まれています。

説明

停止されたデータフィードは、Elasticsearch からデータを取得しなくなります。データフィードは、そのライフサイクルの間に複数回開始および停止できます。

パスパラメータ

  • <feed_id>
  • (必須、文字列) データフィードの識別子。カンマ区切りのデータフィードのリストまたはワイルドカード式を使用して、1回の API リクエストで複数のデータフィードを停止できます。_all を使用するか、* を識別子として指定することで、すべてのデータフィードを閉じることができます。

クエリパラメータ

  • allow_no_match
  • (オプション、Boolean) リクエスト時の動作を指定します:
    • ワイルドカード式を含み、一致するデータフィードがない場合。
    • _all 文字列を含むか、識別子がない場合で、一致するものがない場合。
    • ワイルドカード式を含み、部分一致のみがある場合。
      デフォルト値は true で、一致がない場合は空の datafeeds 配列を返し、部分一致がある場合は結果のサブセットを返します。このパラメータが false の場合、一致がないか部分一致のみの場合はリクエストが 404 ステータスコードを返します。
  • force
  • (オプション、Boolean) true の場合、データフィードは強制的に停止されます。
  • timeout
  • (オプション、時間) データフィードが停止するまでの待機時間を指定します。デフォルト値は 20 秒です。

リクエストボディ

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

レスポンスコード

  • 404 (リソースが見つかりません)
  • allow_no_matchfalse の場合、このコードはリクエストに一致するリソースがないか、リクエストに対して部分一致のみがあることを示します。

Python

  1. resp = client.ml.stop_datafeed(
  2. datafeed_id="datafeed-low_request_rate",
  3. timeout="30s",
  4. )
  5. print(resp)

Ruby

  1. response = client.ml.stop_datafeed(
  2. datafeed_id: 'datafeed-low_request_rate',
  3. body: {
  4. timeout: '30s'
  5. }
  6. )
  7. puts response

Js

  1. const response = await client.ml.stopDatafeed({
  2. datafeed_id: "datafeed-low_request_rate",
  3. timeout: "30s",
  4. });
  5. console.log(response);

コンソール

  1. POST _ml/datafeeds/datafeed-low_request_rate/_stop
  2. {
  3. "timeout": "30s"
  4. }

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

コンソール-結果

  1. {
  2. "stopped": true
  3. }