获取数据流的生命周期

编辑

获取一组数据流生命周期

先决条件

编辑
  • 如果启用了 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_configurationdefault_retentionmax_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": {}
}