in sample/main.py [0:0]
def prepare_set_up(client: Elasticsearch, data_stream_name: str, index_template_name: str, index_template_path: str):
"""
Create new data stream and place documents in the data stream.
:param client: ES client.
:param data_stream_name: name of the data stream.
:param index_template_name: name of the index template.
:param index_template_path: path to the index template.
"""
print("Preparing the setup...")
print("\tPreparing index template {} from file {}...".format(index_template_name, index_template_path))
if client.indices.exists_index_template(name=index_template_name):
print("\t\tIndex template", index_template_name, "exists and will be deleted, along with all its data streams.")
info = client.indices.get_index_template(name=index_template_name)
data_streams = info["index_templates"][0]["index_template"]["index_patterns"]
for data_stream in data_streams:
client.indices.delete_data_stream(name=data_stream, expand_wildcards="all")
client.indices.delete_index_template(name=index_template_name)
print("\tPreparing data stream {}...".format(data_stream_name))
if client.indices.exists(index=data_stream_name):
print("\t\tIndices from data stream ", data_stream_name, "exist and will be deleted.")
client.indices.delete_data_stream(name=data_stream_name, expand_wildcards="all")
content = get_file_content(index_template_path)
client.indices.put_index_template(name=index_template_name, body=content)
print("\tIndex template", index_template_name, "successfully created.")
client.indices.create_data_stream(name=data_stream_name)
print("\tData stream", data_stream_name, "successfully created.")
print("Ready to start.\n")