教程:使用生命周期创建数据流
编辑教程:使用生命周期创建数据流编辑
要创建具有内置生命周期的数据流,请执行以下步骤
创建具有生命周期的索引模板编辑
数据流需要匹配的 索引模板。您可以通过在索引模板中设置 lifecycle
字段来配置数据流生命周期,就像您对映射和索引设置一样。您可以定义一个设置生命周期的索引模板,如下所示
- 包含
data_stream
对象以启用数据流。 - 在模板部分定义生命周期,或包含定义生命周期的可组合模板。
- 使用高于
200
的优先级以避免与内置模板发生冲突。请参阅 避免索引模式冲突。
您可以使用 创建索引模板 API。
response = client.indices.put_index_template( name: 'my-index-template', body: { index_patterns: [ 'my-data-stream*' ], data_stream: {}, priority: 500, template: { lifecycle: { data_retention: '7d' } }, _meta: { description: 'Template with data stream lifecycle' } } ) puts response
PUT _index_template/my-index-template { "index_patterns": ["my-data-stream*"], "data_stream": { }, "priority": 500, "template": { "lifecycle": { "data_retention": "7d" } }, "_meta": { "description": "Template with data stream lifecycle" } }
创建数据流编辑
您可以通过两种方式创建数据流
-
使用 创建数据流 API 手动创建流。流的名称仍然必须与您的模板之一的索引模式匹配。
response = client.indices.create_data_stream( name: 'my-data-stream' ) puts response
PUT _data_stream/my-data-stream
-
通过 索引请求 来定位流的名称。此名称必须与您的索引模板之一的索引模式匹配。
response = client.bulk( index: 'my-data-stream', body: [ { create: {} }, { "@timestamp": '2099-05-06T16:21:15.000Z', message: '192.0.2.42 - - [06/May/2099:16:21:15 +0000] "GET /images/bg.jpg HTTP/1.0" 200 24736' }, { create: {} }, { "@timestamp": '2099-05-06T16:25:42.000Z', message: '192.0.2.255 - - [06/May/2099:16:25:42 +0000] "GET /favicon.ico HTTP/1.0" 200 3638' } ] ) puts response
PUT my-data-stream/_bulk { "create":{ } } { "@timestamp": "2099-05-06T16:21:15.000Z", "message": "192.0.2.42 - - [06/May/2099:16:21:15 +0000] \"GET /images/bg.jpg HTTP/1.0\" 200 24736" } { "create":{ } } { "@timestamp": "2099-05-06T16:25:42.000Z", "message": "192.0.2.255 - - [06/May/2099:16:25:42 +0000] \"GET /favicon.ico HTTP/1.0\" 200 3638" }
检索生命周期信息编辑
您可以使用 获取数据流生命周期 API 查看数据流的生命周期,以及 解释数据流生命周期 API 查看每个支持索引的确切状态。
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", "lifecycle": { "enabled": true, "data_retention": "7d" } } ] }
如果您想查看有关数据流生命周期如何在单个支持索引上应用的更多信息,请使用 解释数据流生命周期 API
response = client.indices.explain_data_lifecycle( index: '.ds-my-data-stream-*' ) puts response
GET .ds-my-data-stream-*/_lifecycle/explain
结果将如下所示