获取数据流的生命周期编辑

获取一组数据流的生命周期。

先决条件编辑

  • 如果启用了 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
(可选,字符串)如果已定义,则添加到此数据流的每个文档将至少存储此时间范围。在此期限后的任何时间都可以删除该文档。如果未定义,则此数据流中的每个文档将无限期存储。
rollover
(可选,对象)将触发后备索引滚动的条件,由集群设置 cluster.lifecycle.default.rollover 配置。此属性是一个实现细节,只有在查询参数 include_defaults 设置为 true 时才会检索到。此字段的内容可能会发生变化。

示例编辑

让我们检索生命周期

response = client.indices.get_data_lifecycle(
  name: 'my-data-stream*'
)
puts response
GET _data_stream/my-data-stream*/_lifecycle

响应如下所示

{
  "data_streams": [
    {
      "name": "my-data-stream-1",
      "lifecycle": {
        "enabled": true,
        "data_retention": "7d"
      }
    },
    {
      "name": "my-data-stream-2",
      "lifecycle": {
        "enabled": true,
        "data_retention": "7d"
      }
    }
  ]
}