教程:更新现有数据流
编辑教程:更新现有数据流
编辑要更新现有数据流的生命周期,请执行以下操作
设置数据流的生命周期
编辑要添加或更改数据流的保留期,可以使用 PUT lifecycle API。
-
您可以设置无限的保留期,这意味着您的数据永远不会被删除。例如
resp = client.indices.put_data_lifecycle( name="my-data-stream", ) print(resp)
response = client.indices.put_data_lifecycle( name: 'my-data-stream', body: {} ) puts response
const response = await client.indices.putDataLifecycle({ name: "my-data-stream", }); console.log(response);
-
或者您可以设置您选择的保留期。例如
resp = client.indices.put_data_lifecycle( name="my-data-stream", data_retention="30d", ) print(resp)
response = client.indices.put_data_lifecycle( name: 'my-data-stream', body: { data_retention: '30d' } ) puts response
const response = await client.indices.putDataLifecycle({ name: "my-data-stream", data_retention: "30d", }); console.log(response);
生命周期的更改会应用于数据流的所有后备索引。您可以通过 explain API 查看更改的效果
resp = client.indices.explain_data_lifecycle( index=".ds-my-data-stream-*", ) print(resp)
response = client.indices.explain_data_lifecycle( index: '.ds-my-data-stream-*' ) puts response
const response = await client.indices.explainDataLifecycle({ index: ".ds-my-data-stream-*", }); console.log(response);
GET .ds-my-data-stream-*/_lifecycle/explain
响应将如下所示
{ "indices": { ".ds-my-data-stream-2023.04.19-000002": { "index": ".ds-my-data-stream-2023.04.19-000002", "managed_by_lifecycle": true, "index_creation_date_millis": 1681919221417, "time_since_index_creation": "6.85s", "lifecycle": { "enabled": true, "data_retention": "30d" } }, ".ds-my-data-stream-2023.04.17-000001": { "index": ".ds-my-data-stream-2023.04.17-000001", "managed_by_lifecycle": true, "index_creation_date_millis": 1681745209501, "time_since_index_creation": "48d", "rollover_date_millis": 1681919221419, "time_since_rollover": "6.84s", "generation_time": "6.84s", "lifecycle": { "enabled": true, "data_retention": "30d" } } } }
后备索引的名称。 |
|
此索引由数据流生命周期管理。 |
|
自创建此索引以来经过的时间。 |
|
此索引的数据保留期至少为 30 天,因为它最近已更新。 |
|
后备索引的名称。 |
|
此索引由内置数据流生命周期管理。 |
|
自创建此索引以来经过的时间。 |
|
自此索引滚动更新以来经过的时间。 |
|
将用于确定何时可以安全删除此索引及其所有数据的时间。 |
|
此索引的数据保留期也至少为 30 天,因为它最近已更新。 |
删除数据流的生命周期
编辑要删除数据流的生命周期,可以使用 delete lifecycle API。结果,生命周期应用的维护操作将不再应用于数据流及其所有后备索引。例如
resp = client.indices.delete_data_lifecycle( name="my-data-stream", ) print(resp)
response = client.indices.delete_data_lifecycle( name: 'my-data-stream' ) puts response
const response = await client.indices.deleteDataLifecycle({ name: "my-data-stream", }); console.log(response);
DELETE _data_stream/my-data-stream/_lifecycle
然后,您可以再次使用 explain API 来查看索引不再被管理。
resp = client.indices.explain_data_lifecycle( index=".ds-my-data-stream-*", ) print(resp)
response = client.indices.explain_data_lifecycle( index: '.ds-my-data-stream-*' ) puts response
const response = await client.indices.explainDataLifecycle({ index: ".ds-my-data-stream-*", }); console.log(response);
GET .ds-my-data-stream-*/_lifecycle/explain