Skip to content

OpenSearch

Important

To save data to OpenSearch install garf-io with OpenSearch support

pip install garf-io[opensearch]

opensearch writer allows you to index GarfReport to OpenSearch.

garf query.sql --source API_SOURCE \
  --output opensearch \
  --opensearch.hosts=localhost:9200
from garf.core import report
from garf.io.writers import opensearch_writer

# Create example report
sample_report = report.GarfReport(results=[[1]], column_names=['one'])

writer = opensearch_writer.OpenSearchWriter(hosts='localhost:9200')
writer.write(sample_report, 'index_name')

Parameters

Hosts

By default it connects to localhost:9200. You can overwrite it with hosts parameter.

garf query.sql --source API_SOURCE \
  --output opensearch \
  --opensearch.hosts=host1:9200,host2:9200
from garf.core import report
from garf.io.writers import opensearch_writer

# Create example report
sample_report = report.GarfReport(results=[[1]], column_names=['one'])

writer = opensearch_writer.OpenSearchWriter(hosts=["host1:9200", "host2:9200"])
writer.write(sample_report, 'index_name')

Authentication

You can provide authentication credentials using http_auth parameter (Python only).

from garf.core import report
from garf.io.writers import opensearch_writer

# Create example report
sample_report = report.GarfReport(results=[[1]], column_names=['one'])

writer = opensearch_writer.OpenSearchWriter(
    hosts='localhost:9200',
    http_auth=('user', 'password')
)
writer.write(sample_report, 'index_name')