API остановки потоков данных
Останавливает один или несколько потоков данных.
Запрос
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> - (Обязательно, строка) Идентификатор потока данных. Вы можете остановить несколько потоков данных в одном запросе API, используя список потоков данных через запятую или выражение с подстановкой. Вы можете закрыть все потоки данных, используя
_allили указав*в качестве идентификатора.
Параметры запроса
-
allow_no_match -
(Необязательно, логическое значение) Указывает, что делать, когда запрос:
- Содержит выражения с подстановкой, и нет потоков данных, соответствующих им.
- Содержит строку
_allили нет идентификаторов, и нет совпадений. - Содержит выражения с подстановкой, и есть только частичные совпадения.
Значение по умолчанию —
true, которое возвращает пустой массивdatafeeds, если совпадений нет, и подмножество результатов, если есть частичные совпадения. Если этот параметр равенfalse, запрос возвращает код состояния404, если нет совпадений или только частичные совпадения. -
force - (Необязательно, логическое значение) Если true, поток данных останавливается принудительно.
-
timeout - (Необязательно, время) Указывает время ожидания остановки потока данных. Значение по умолчанию — 20 секунд.
Тело запроса
Вы также можете указать параметры запроса (например, allow_no_match и force) в теле запроса.
Коды ответов
-
404(Отсутствующие ресурсы) - Если
allow_no_matchравноfalse, этот код указывает, что нет ресурсов, соответствующих запросу, или только частичные совпадения с запросом.
Примеры
resp = 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"
} При остановке потока данных вы получите следующие результаты:
{
"stopped": true
}
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/ml-stop-datafeed.html