Set the lifecycle of a data stream

edit

This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.

Configures the data lifecycle for the targeted data streams.

Request

edit

PUT _data_stream/<data-stream>/_lifecycle

Description

edit

Configures the data lifecycle for the targeted data streams. If multiple data streams are provided but at least one of them does not exist, then the update of the lifecycle will fail for all of them and the API will respond with 404.

Path parameters

edit
<data-stream>
(Required, string) Comma-separated list of data streams used to limit the request. Supports wildcards (*). To target all data streams use * or _all.

Query parameters

edit
expand_wildcards

(Optional, string) Type of data stream that wildcard patterns can match. Supports comma-separated values, such as open,hidden. Valid values are:

all, hidden
Match any data stream, including hidden ones.
open, closed
Matches any non-hidden data stream. Data streams cannot be closed.
none
Wildcard patterns are not accepted.

Defaults to open.

Request body

edit
lifecycle

(Required, object)

Properties of lifecycle
data_retention
(Optional, string) If defined, every document added to this data stream will be stored at least for this time frame. Any time after this duration the document could be deleted. When empty, every document in this data stream will be stored indefinitely.

Examples

edit

The following example sets the lifecycle of my-data-stream:

PUT _data_stream/my-data-stream/_lifecycle
{
  "data_retention": "7d"
}

When the lifecycle is successfully updated in all data streams, you receive the following result:

{
  "acknowledged": true
}