
OpenSearch Put
CertifiedIndex a single OpenSearch document
OpenSearch Put
Index a single OpenSearch document
Writes one document with optional custom id, opType, routing, and refresh policy; accepts JSON string or Map payload.
type: io.kestra.plugin.opensearch.PutExamples
Put a document with a Map.
id: opensearch_put
namespace: company.team
tasks:
- id: put
type: io.kestra.plugin.opensearch.Put
connection:
hosts:
- "http://localhost:9200"
index: "my_index"
key: "my_id"
value:
name: "John Doe"
city: "Paris"
Put a document from a JSON string.
id: opensearch_put
namespace: company.team
inputs:
- id: value
type: JSON
defaults: {"name": "John Doe", "city": "Paris"}
tasks:
- id: put
type: io.kestra.plugin.opensearch.Put
connection:
hosts:
- "http://localhost:9200"
index: "my_index"
key: "my_id"
value: "{{ inputs.value }}"
Installation
Our standard Docker images already include this plugin. If you use a -slim image or another setup, install it with the following command:
kestractl plugins get io.kestra.plugin:plugin-opensearch --compatible-for $KESTRA_VERSION For kestractl, use your Kestra version with --compatible-for, or specify an exact plugin version.
For Kestra CLI, replace LATEST with a specific version or version range to pin the plugin version.
Properties
connection *
Configure OpenSearch connection
Hosts, auth headers, and TLS options reused by every task invocation.
index *string
Target OpenSearch index
assets
Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.
io.kestra.core.models.assets.AssetsDeclaration
IGNOREFAILWARNAsset failure behavior
Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.
Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.
The assets consumed as inputs.
io.kestra.core.models.assets.AssetIdentifier
1The assets produced as outputs.
io.kestra.plugin.ee.assets.Dataset
1150{}1150io.kestra.plugin.ee.assets.File
1150{}1150io.kestra.plugin.ee.assets.Table
1150{}1150io.kestra.plugin.ee.assets.VM
1150{}1150io.kestra.core.models.assets.External
1150{}1150io.kestra.core.models.assets.Custom
11501Custom asset type
{}1150key string
Document id
opType string
INDEXCREATEUPDATEDELETEOperation type
INDEX or CREATE are supported; others are rejected.
refreshPolicy string
NONEIMMEDIATEWAIT_UNTILNONERefresh policy
IMMEDIATE forces refresh, WAIT_UNTIL waits for refresh, NONE (default) leaves refresh to cluster.
routing string
Shard routing key
Hashes routing using this value instead of the document id to colocate related records.
value object
Document body
JSON string rendered then parsed, or a Map rendered and sent as JSON.
Outputs
id string
Document id written
result string
CreatedDeletedNoOpNotFoundUpdatedResult of the write
version integer
Document version