Stop datafeeds API
editStop datafeeds API
editStops one or more datafeeds.
Request
editPOST _ml/datafeeds/<feed_id>/_stop
POST _ml/datafeeds/<feed_id>,<feed_id>/_stop
POST _ml/datafeeds/_all/_stop
Prerequisites
editRequires the manage_ml
cluster privilege. This privilege is included in the
machine_learning_admin
built-in role.
Description
editA datafeed that is stopped ceases to retrieve data from Elasticsearch. A datafeed can be started and stopped multiple times throughout its lifecycle.
Path parameters
edit-
<feed_id>
-
(Required, string)
Identifier for the datafeed. You can stop multiple datafeeds in a single API
request by using a comma-separated list of datafeeds or a wildcard expression.
You can close all datafeeds by using
_all
or by specifying*
as the identifier.
Query parameters
edit-
allow_no_match
-
(Optional, Boolean) Specifies what to do when the request:
- Contains wildcard expressions and there are no datafeeds that match.
-
Contains the
_all
string or no identifiers and there are no matches. - Contains wildcard expressions and there are only partial matches.
The default value is
true
, which returns an emptydatafeeds
array when there are no matches and the subset of results when there are partial matches. If this parameter isfalse
, the request returns a404
status code when there are no matches or only partial matches. -
force
- (Optional, Boolean) If true, the datafeed is stopped forcefully.
-
timeout
- (Optional, time) Specifies the amount of time to wait until a datafeed stops. The default value is 20 seconds.
Request body
editYou can also specify the query parameters (such as allow_no_match
and
force
) in the request body.
Response codes
edit-
404
(Missing resources) -
If
allow_no_match
isfalse
, this code indicates that there are no resources that match the request or only partial matches for the request.
Examples
editresp = client.ml.stop_datafeed( datafeed_id="datafeed-low_request_rate", timeout="30s", ) print(resp)
response = client.ml.stop_datafeed( datafeed_id: 'datafeed-low_request_rate', body: { timeout: '30s' } ) puts response
const response = await client.ml.stopDatafeed({ datafeed_id: "datafeed-low_request_rate", timeout: "30s", }); console.log(response);
POST _ml/datafeeds/datafeed-low_request_rate/_stop { "timeout": "30s" }
When the datafeed stops, you receive the following results:
{ "stopped": true }