Получение жизненного цикла потока данных
Получает жизненный цикл набора потоков данных.
Предварительные условия
- Если включены функции безопасности Elasticsearch, вам необходимо иметь как минимум одно из
manageправ доступа к индексу,manage_data_stream_lifecycleправо доступа к индексу илиview_index_metadataправо, чтобы использовать этот API. Дополнительная информация приведена в Справке по правам доступа к функциям безопасности.
Запрос
GET _data_stream/<data-stream>/_lifecycle
Описание
Получает жизненный цикл указанных потоков данных. Если запрашиваются несколько потоков данных, но по крайней мере один из них не существует, API вернёт 404, так как по крайней мере один из запрошенных ресурсов не может быть получен. Если у запрошенных потоков данных не настроена конфигурация жизненного цикла, они всё равно будут включены в ответ API, но lifecycle ключ будет отсутствовать.
Параметры пути
-
<data-stream> - (Обязательно, строка) Список потоков данных, разделенных запятыми, для ограничения запроса. Поддерживаются подстановочные знаки (
*). Для применения ко всем потокам данных используйте*или_all.
Параметры запроса
-
expand_wildcards -
(Необязательно, строка) Тип потока данных, с которым могут совпадать подстановочные знаки. Поддерживаются значения, разделенные запятыми, например,
open,hidden. Допустимые значения:-
all,hidden - Соответствие любому потоку данных, включая скрытые.
-
open,closed - Соответствие любому открытому потоку данных. Потоки данных не могут быть закрыты.
-
none - Подстановочные знаки не допускаются.
По умолчанию
open. -
-
include_defaults - (Необязательно, логическое значение) Если
true, возвратить все значения по умолчанию в ответе. По умолчаниюfalse.
Тело ответа
-
data_streams -
(массив объектов) Содержит информацию о полученных жизненных циклах потоков данных.
Свойства объектов в
data_streams-
name - (строка) Название потока данных.
-
lifecycle -
(необязательно, объект)
Свойства
lifecycle-
data_retention - (необязательно, строка) Если определено, представляет собой срок хранения, запрошенный владельцем потока данных для данного потока.
-
effective_retention - (необязательно, строка) Если определено, каждый документ, добавленный в этот поток данных, будет храниться не менее этого временного интервала. После истечения этого срока документ может быть удален. Если пусто, каждый документ в этом потоке данных будет храниться неограниченно. Эффективное время хранения вычисляется, как описано в руководстве.
-
retention_determined_by - (необязательно, строка) Источник хранения, может принимать одно из трех значений:
data_stream_configuration,default_retentionилиmax_retention. -
rollover - (необязательно, объект) Условия, которые приведут к смене бэкенд-индекса, как настроено настройкой кластера
cluster.lifecycle.default.rollover. Это свойство является деталью реализации, и оно будет получено только тогда, когда параметр запросаinclude_defaultsустановлен вtrue. Содержание этого поля может измениться.
-
-
-
global_retention -
(объект) Содержит максимальное и по умолчанию время хранения. Если глобальное время хранения не настроено, это будет пустой объект.
Свойства
global_retention-
max_retention - (необязательно, строка) Эффективное время хранения потоков данных, управляемых жизненным циклом потока данных, не может превышать это значение.
-
default_retention - (необязательно, строка) Это будет эффективное время хранения потоков данных, управляемых жизненным циклом потока данных, которые не указывают
data_retention.
-
Примеры
Давайте получим жизненные циклы:
resp = client.indices.get_data_lifecycle(
name="my-data-stream*",
)
print(resp) response = client.indices.get_data_lifecycle( name: 'my-data-stream*' ) puts response
const response = await client.indices.getDataLifecycle({
name: "my-data-stream*",
});
console.log(response); GET _data_stream/my-data-stream*/_lifecycle
Ответ будет выглядеть примерно так:
{
"data_streams": [
{
"name": "my-data-stream-1",
"lifecycle": {
"enabled": true,
"data_retention": "7d",
"effective_retention": "7d",
"retention_determined_by": "data_stream_configuration"
}
},
{
"name": "my-data-stream-2",
"lifecycle": {
"enabled": true,
"data_retention": "7d",
"effective_retention": "7d",
"retention_determined_by": "data_stream_configuration"
}
}
],
"global_retention": {}
}
© 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/data-streams-get-lifecycle.html