获取数据流 API

编辑

检索一个或多个数据流的信息。请参阅获取关于数据流的信息

resp = client.indices.get_data_stream(
    name="my-data-stream",
)
print(resp)
response = client.indices.get_data_stream(
  name: 'my-data-stream'
)
puts response
const response = await client.indices.getDataStream({
  name: "my-data-stream",
});
console.log(response);
GET /_data_stream/my-data-stream

请求

编辑

GET /_data_stream/<data-stream>

先决条件

编辑
  • 如果启用了 Elasticsearch 安全功能,你必须拥有数据流的 view_index_metadatamanage 索引权限

路径参数

编辑
<data-stream>
(可选,字符串)用于限制请求的逗号分隔的数据流名称列表。支持通配符 (*) 表达式。如果省略,将返回所有数据流。

查询参数

编辑
expand_wildcards

(可选,字符串)通配符模式可以匹配的数据流类型。支持逗号分隔的值,例如 open,hidden。有效值为:

all, hidden
匹配任何数据流,包括隐藏的数据流。
open, closed
匹配任何非隐藏的数据流。数据流不能被关闭。
none
不接受通配符模式。

默认为 open

include_defaults
(可选,布尔值) [预览] 此功能为技术预览版,可能会在未来的版本中更改或删除。Elastic 将努力修复任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 中的功能。如果为 true,则在响应中返回所有默认设置。默认为 false
verbose
(可选,布尔值)。如果为 true,则返回数据流中文档的 @timestamp 字段对应的 maximum_timestamp。默认为 false

响应体

编辑
data_streams

(对象数组)包含有关检索到的数据流的信息。

data_streams 中对象的属性
name
(字符串)数据流的名称。
timestamp_field

(对象)包含有关数据流的 @timestamp 字段的信息。

timestamp_field 的属性
name
(字符串)数据流的时间戳字段的名称,必须为 @timestamp。每个索引到数据流的文档中都必须包含 @timestamp 字段。
indices

(对象数组)包含有关数据流的后备索引信息的对象数组。

此数组中的最后一项包含有关数据流当前写入索引的信息。

indices 对象的属性
index_name
(字符串)后备索引的名称。有关命名约定,请参阅生成
index_uuid
(字符串)索引的通用唯一标识符(UUID)。
prefer_ilm
(布尔值) [预览] 此功能为技术预览版,可能会在未来的版本中更改或删除。Elastic 将努力修复任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 中的功能。指示当索引生命周期管理和数据流生命周期都配置为管理此索引时,此索引是否配置为优先使用索引生命周期管理。
managed_by
(字符串) [预览] 此功能为技术预览版,可能会在未来的版本中更改或删除。Elastic 将努力修复任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 中的功能。指示管理此索引的系统。
generation
(整数)数据流的当前生成。此数字充当数据流滚动更新的累积计数,从 1 开始。
_meta
(对象)数据流的自定义元数据,从数据流匹配的索引模板_meta 对象复制而来。如果为空,响应将省略此属性。
status

(字符串)数据流的健康状态

此健康状态基于数据流的后备索引的主分片和副本分片的状态。

status 的值
GREEN
所有分片都已分配。
YELLOW
所有主分片都已分配,但一个或多个副本分片未分配。
RED
一个或多个主分片未分配,因此某些数据不可用。
template

(字符串)用于创建数据流的后备索引的索引模板的名称。

模板的索引模式必须与此数据流的名称匹配。请参阅创建索引模板

ilm_policy

(字符串)数据流匹配的索引模板中当前 ILM 生命周期策略的名称。此生命周期策略在 index.lifecycle.name 设置中设置。

如果模板不包含生命周期策略,则响应中不包含此属性。

数据流的后备索引可能被分配不同的生命周期策略。要检索单个后备索引的生命周期策略,请使用获取索引设置 API

next_generation_managed_by
(字符串) [预览] 此功能为技术预览版,可能会在未来的版本中更改或删除。Elastic 将努力修复任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 中的功能。指示将管理下一代索引的系统(即,下一个数据流写入索引)。
prefer_ilm
(布尔值) [预览] 此功能为技术预览版,可能会在未来的版本中更改或删除。Elastic 将努力修复任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 中的功能。指示当索引生命周期管理和数据流生命周期都配置为管理此索引时,用于创建数据流后备索引的索引模板是否配置为优先使用索引生命周期管理。
hidden
(布尔值)如果为 true,则数据流为隐藏
system
(布尔值)如果为 true,则数据流由 Elastic Stack 组件创建和管理,不能通过正常的用户交互进行修改。
allow_custom_routing
(布尔值)如果为 true,则此数据流允许对写入请求进行自定义路由。
replicated
(布尔值)如果为 true,则数据流由跨集群复制创建和管理,本地集群不能写入此数据流或更改其映射。
lifecycle

(对象) [预览] 此功能为技术预览版,可能会在未来的版本中更改或删除。Elastic 将努力修复任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 中的功能。包含此数据流的数据流生命周期管理的配置。

lifecycle 的属性
data_retention
(字符串)如果已定义,则添加到此数据流的每个文档都将至少存储此时间段。此持续时间之后的任何时间,该文档都可能被删除。如果为空,则此数据流中的每个文档都将无限期存储。
rollover
(对象)由集群设置 cluster.lifecycle.default.rollover 配置的将触发后备索引滚动更新的条件。此属性是实现细节,仅当查询参数 include_defaults 设置为 true 时才会检索它。此字段的内容可能会发生变化。
rollover_on_write
(布尔值)如果为 true,则对该数据流的下一次写入将首先触发滚动更新,并且该文档将被索引到新的后备索引中。如果滚动更新失败,索引请求也将失败。

示例

编辑
resp = client.indices.get_data_stream(
    name="my-data-stream*",
)
print(resp)
response = client.indices.get_data_stream(
  name: 'my-data-stream*'
)
puts response
const response = await client.indices.getDataStream({
  name: "my-data-stream*",
});
console.log(response);
GET _data_stream/my-data-stream*

API 返回以下响应

{
  "data_streams": [
    {
      "name": "my-data-stream",
      "timestamp_field": {
        "name": "@timestamp"
      },
      "indices": [
        {
          "index_name": ".ds-my-data-stream-2099.03.07-000001",
          "index_uuid": "xCEhwsp8Tey0-FLNFYVwSg",
          "prefer_ilm": true,
          "ilm_policy": "my-lifecycle-policy",
          "managed_by": "Index Lifecycle Management"
        },
        {
          "index_name": ".ds-my-data-stream-2099.03.08-000002",
          "index_uuid": "PA_JquKGSiKcAKBA8DJ5gw",
          "prefer_ilm": true,
          "ilm_policy": "my-lifecycle-policy",
          "managed_by": "Index Lifecycle Management"
        }
      ],
      "generation": 2,
      "_meta": {
        "my-meta-field": "foo"
      },
      "status": "GREEN",
      "next_generation_managed_by": "Index Lifecycle Management",
      "prefer_ilm": true,
      "template": "my-index-template",
      "ilm_policy": "my-lifecycle-policy",
      "hidden": false,
      "system": false,
      "allow_custom_routing": false,
      "replicated": false,
      "rollover_on_write": false
    },
    {
      "name": "my-data-stream-two",
      "timestamp_field": {
        "name": "@timestamp"
      },
      "indices": [
        {
          "index_name": ".ds-my-data-stream-two-2099.03.08-000001",
          "index_uuid": "3liBu2SYS5axasRt6fUIpA",
          "prefer_ilm": true,
          "ilm_policy": "my-lifecycle-policy",
          "managed_by": "Index Lifecycle Management"
        }
      ],
      "generation": 1,
      "_meta": {
        "my-meta-field": "foo"
      },
      "status": "YELLOW",
      "next_generation_managed_by": "Index Lifecycle Management",
      "prefer_ilm": true,
      "template": "my-index-template",
      "ilm_policy": "my-lifecycle-policy",
      "hidden": false,
      "system": false,
      "allow_custom_routing": false,
      "replicated": false,
      "rollover_on_write": false
    }
  ]
}