OpenSearch Bulk

OpenSearch Bulk

Certified

Replay bulk request file to OpenSearch

Streams a preformatted bulk file (action + source lines) to the OpenSearch Bulk API; honors connection headers, routing, and chunking.

yaml
type: io.kestra.plugin.opensearch.Bulk

Send a preformatted Bulk API file (action + source lines).

yaml
id: opensearch_bulk_load
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: bulk_load
    type: io.kestra.plugin.opensearch.Bulk
    connection:
      hosts:
        - "http://localhost:9200"
    from: "{{ inputs.file }}"
    # `inputs.file` must contain alternating action and source lines as expected by the Bulk API.
Properties

Configure OpenSearch connection

Hosts, auth headers, and TLS options reused by every task invocation.

Definitions
hosts*Requiredarray
SubTypestring

OpenSearch HTTP endpoints

One or more host URLs with scheme and port, e.g. https://opensearch.com: 9200; all are used for load-balancing/failover.

basicAuth

Basic auth configuration

passwordstring

Basic auth password

usernamestring

Basic auth username

headersarray
SubTypestring

Additional HTTP headers

Each entry is Key: Value, e.g. Authorization: Token XYZ; rendered per request.

pathPrefixstring

Path prefix for every request

Prepends /my/path to all endpoints when OpenSearch is behind a proxy enforcing a base path; leave unset otherwise.

strictDeprecationModebooleanstring

Fail on warning headers

If true, any response containing an OpenSearch warning header is treated as a failure; defaults to server/client behavior.

trustAllSslbooleanstring

Trust all SSL certificates

INSECURE — disables TLS certificate and hostname verification entirely, allowing man-in-the-middle attacks. Must never be used against production clusters or over untrusted networks. Prefer supplying a trusted CA certificate/trust store instead.

Source file in Internal Storage

Path to Kestra internal storage object containing line-delimited JSON or ION records.

Default1000

Bulk chunk size

Number of operations per bulk request; defaults to 1000.

Reference (ref) of the pluginDefaults to apply to this task.

Shard routing key

Hashes routing using this value instead of the document id to colocate related records.

Number of records sent