设置数据流的生命周期
编辑设置数据流的生命周期编辑
为目标数据流配置数据流生命周期。
先决条件编辑
如果启用了 Elasticsearch 安全功能,则您必须具有 manage_data_stream_lifecycle
索引权限或更高级别权限才能使用此 API。有关更多信息,请参阅 安全权限。
请求编辑
PUT _data_stream/<data-stream>/_lifecycle
描述编辑
为目标数据流配置数据流生命周期。如果提供了多个数据流,但其中至少有一个不存在,则所有数据流的生命周期更新都将失败,并且 API 将响应 404
。
路径参数编辑
-
<data-stream>
- (必填,字符串)用于限制请求的数据流的逗号分隔列表。支持通配符 (
*
)。要定位所有数据流,请使用*
或_all
。
查询参数编辑
-
expand_wildcards
-
(可选,字符串)通配符模式可以匹配的数据流类型。支持逗号分隔值,例如
open,hidden
。有效值为-
all
,hidden
- 匹配任何数据流,包括 隐藏的 数据流。
-
open
,closed
- 匹配任何非隐藏数据流。数据流不能关闭。
-
none
- 不接受通配符模式。
默认为
open
。 -
请求正文编辑
-
lifecycle
-
(必填,对象)
lifecycle
的属性-
data_retention
- (可选,字符串)如果定义,则添加到此数据流的每个文档都将至少存储此时间范围。在此期限后的任何时间都可以删除该文档。如果为空,则此数据流中的每个文档都将无限期存储。
-
enabled
- (可选,布尔值)如果定义,则为该数据流打开/关闭 (
true
/false
) 数据流生命周期。禁用的数据流生命周期 (enabled: false
) 对数据流没有影响。默认为true
。 -
downsampling
- (可选,数组)一个可选的下采样配置对象数组,每个对象定义一个
after
间隔,表示何时对支持索引进行下采样(时间范围是从索引滚动后开始计算的,即生成时间)和一个fixed_interval
表示下采样间隔(最小fixed_interval
值为5m
)。最多可以配置 10 轮下采样。请参阅下面的 配置示例。
-
示例编辑
以下示例设置 my-data-stream
的生命周期
response = client.indices.put_data_lifecycle( name: 'my-data-stream', body: { data_retention: '7d' } ) puts response
PUT _data_stream/my-data-stream/_lifecycle { "data_retention": "7d" }
当所有数据流中的生命周期都成功更新后,您将收到以下结果
{ "acknowledged": true }
示例编辑
以下示例配置了两轮下采样,第一轮在下采样索引滚动后一天开始(或更晚,如果索引仍在其接受写入的 时间范围内) ,间隔为 10m
,第二轮在滚动后 7 天开始,间隔为 1d
response = client.indices.put_data_lifecycle( name: 'my-weather-sensor-data-stream', body: { downsampling: [ { after: '1d', fixed_interval: '10m' }, { after: '7d', fixed_interval: '1d' } ] } ) puts response
PUT _data_stream/my-weather-sensor-data-stream/_lifecycle { "downsampling": [ { "after": "1d", "fixed_interval": "10m" }, { "after": "7d", "fixed_interval": "1d" } ] }