Type object
File match bento.json bento.yml bento.yaml
Schema URL https://catalog.lintel.tools/schemas/schemastore/bento/latest.json
Source https://raw.githubusercontent.com/warpstreamlabs/bento/refs/heads/main/resources/schemastore/bento.json

Validate with Lintel

npx @lintel/lintel check
Type: object

Properties

buffer object

An optional buffer to store messages during transit. Default: map[none:map[]]

4 nested properties
memory object
3 nested properties
batch_policy object

Optionally configure a policy to flush buffered messages in batches.

7 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

enabled boolean

Whether to batch messages as they are flushed. Default: false

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
limit integer

The maximum buffer size (in bytes) to allow before applying backpressure upstream. Default: 524288000

spillover boolean

Whether to drop incoming messages that will exceed the buffer limit. Default: false

none object

Default: map[]

sqlite object
3 nested properties
path string

The path of the database file, which will be created if it does not already exist.

post_processors object[]

An optional list of processors to apply to messages after they are consumed from the buffer. These processors are useful for undoing any compression, archiving, etc that may have been done by your pre_processors.

pre_processors object[]

An optional list of processors to apply to messages before they are stored within the buffer. These processors are useful for compressing, archiving or otherwise reducing the data in size before it's stored on disk.

system_window object
5 nested properties
allowed_lateness string

An optional duration string describing the length of time to wait after a window has ended before flushing it, allowing late arrivals to be included. Since this windowing buffer uses the system clock an allowed lateness can improve the matching of messages when using event time. Default:

Examples: "10s", "1m"
offset string

An optional duration string to offset the beginning of each window by, otherwise they are aligned to the zeroth minute and zeroth hour on the UTC clock. The offset cannot be a larger or equal measure to the window size or the slide. Default:

Examples: "-6h", "30m"
size string

A duration string describing the size of each window. By default windows are aligned to the zeroth minute and zeroth hour on the UTC clock, meaning windows of 1 hour duration will match the turn of each hour in the day, this can be adjusted with the offset field.

Examples: "30s", "10m"
slide string

An optional duration string describing by how much time the beginning of each window should be offset from the beginning of the previous, and therefore creates sliding windows instead of tumbling. When specified this duration must be smaller than the size of the window. Default:

Examples: "30s", "10m"
timestamp_mapping string

A Bloblang mapping applied to each message during ingestion that provides the timestamp to use for allocating it a window. By default the function now() is used in order to generate a fresh timestamp at the time of ingestion (the processing time), whereas this mapping can instead extract a timestamp from the message itself (the event time).

The timestamp value assigned to root must either be a numerical unix time in seconds (with up to nanosecond precision via decimals), or a string in ISO 8601 format. If the mapping fails or provides an invalid result the message will be dropped (with logging to describe the problem). Default: root = now()

Examples: "root = this.created_at", "root = metadata("kafka_timestamp_unix").string()"
cache_resources object[]

A list of cache resources, each must have a unique label. Default: []

error_handling object

Environment-wide settings for handling errored messages.

2 nested properties
log object

Configuration for global logging message-level errors.

3 nested properties
add_payload boolean

Whether to add a failed message payload to an error log. Default: false

enabled boolean

Whether to enable message-level error logging. Default: false

sampling_ratio number

Sets the ratio of errored messages within a batch to sample. Default: 1

strategy string

The error handling strategy. Default: none

http object

Configures the service-wide HTTP server.

8 nested properties
address string

The address to bind to. Default: 0.0.0.0:4195

basic_auth object

Allows you to enforce and customise basic authentication for requests to the HTTP server.

6 nested properties
algorithm string

Encryption algorithm used to generate password_hash. Default: sha256

Examples: "md5", "sha256", "bcrypt", "scrypt"
enabled boolean

Enable basic authentication Default: false

password_hash string

Hashed password required to authenticate. (base64 encoded) Default:

realm string

Custom realm name Default: restricted

salt string

Salt for scrypt algorithm. (base64 encoded) Default:

username string

Username required to authenticate. Default:

cert_file string

An optional certificate file for enabling TLS. Default:

cors object

Adds Cross-Origin Resource Sharing headers.

4 nested properties
allowed_headers string[]

Appends additional headers to the list of default allowed headers: Accept, Accept-Language, Content-Language & Origin. These default headers are therefore always allowed. Default: []

allowed_methods string[]

Used to explicitly set allowed methods in the Access-Control-Allow-Methods header. Default: [GET HEAD POST PUT PATCH DELETE]

allowed_origins string[]

An explicit list of origins that are allowed for CORS requests. Default: []

enabled boolean

Whether to allow CORS requests. Default: false

debug_endpoints boolean

Whether to register a few extra endpoints that can be useful for debugging performance or behavioral problems. Default: false

enabled boolean

Whether to enable to HTTP server. Default: true

key_file string

An optional key file for enabling TLS. Default:

root_path string

Specifies a general prefix for all endpoints, this can help isolate the service endpoints when using a reverse proxy with other shared services. All endpoints will still be registered at the root as well as behind the prefix, e.g. with a root_path set to /foo the endpoint /version will be accessible from both /version and /foo/version. Default: /bento

input object

An input to source messages from. Default: map[stdin:map[]]

62 nested properties
amqp_0_9 object
10 nested properties
auto_ack boolean

Acknowledge messages automatically as they are consumed rather than waiting for acknowledgments from downstream. This can improve throughput and prevent the pipeline from blocking but at the cost of eliminating delivery guarantees. Default: false

bindings_declare object[]

Allows you to passively declare bindings for the target queue.

Examples: [{"exchange":"foo","key":"bar"}]
consumer_tag string

A consumer tag. Default:

nack_reject_patterns string[]

A list of regular expression patterns whereby if a message that has failed to be delivered by Bento has an error that matches it will be dropped (or delivered to a dead-letter queue if one exists). By default failed messages are nacked with requeue enabled. Default: []

Examples: ["^reject me please:.+$"]
prefetch_count integer

The maximum number of pending messages to have consumed at a time. Default: 10

prefetch_size integer

The maximum amount of pending messages measured in bytes to have consumed at a time. Default: 0

queue string

An AMQP queue to consume from.

queue_declare object

Allows you to passively declare the target queue. If the queue already exists then the declaration passively verifies that they match the target fields.

3 nested properties
auto_delete boolean

Whether the declared queue will auto-delete. Default: false

durable boolean

Whether the declared queue is durable. Default: true

enabled boolean

Whether to enable queue declaration. Default: false

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

urls string[]

A list of URLs to connect to. The first URL to successfully establish a connection will be used until the connection is closed. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["amqp://guest:[email protected]:5672/"], ["amqp://127.0.0.1:5672/,amqp://127.0.0.2:5672/"], ["amqp://127.0.0.1:5672/","amqp://127.0.0.2:5672/"]
amqp_1 object
8 nested properties
azure_renew_lock boolean

Experimental: Azure service bus specific option to renew lock if processing takes more then configured lock time Default: false

credit integer

Specifies the maximum number of unacknowledged messages the sender can transmit. Once this limit is reached, no more messages will arrive until messages are acknowledged and settled. Default: 64

read_header boolean

Read additional message header fields into amqp_* metadata properties. Default: false

sasl object

Enables SASL authentication.

3 nested properties
mechanism string

The SASL authentication mechanism to use. Default: none

password string

A SASL plain text password. It is recommended that you use environment variables to populate this field. Default:

Examples: "${PASSWORD}"
user string

A SASL plain text username. It is recommended that you use environment variables to populate this field. Default:

Examples: "${USER}"
source_address string

The source address to consume from.

Examples: "/foo", "queue:/bar", "topic:/baz"
tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

A URL to connect to.

Examples: "amqp://localhost:5672/", "amqps://guest:guest@localhost:5672/"
urls string[]

A list of URLs to connect to. The first URL to successfully establish a connection will be used until the connection is closed. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["amqp://guest:[email protected]:5672/"], ["amqp://127.0.0.1:5672/,amqp://127.0.0.2:5672/"], ["amqp://127.0.0.1:5672/","amqp://127.0.0.2:5672/"]
aws_kinesis object
12 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
checkpoint_limit integer

The maximum gap between the in flight sequence versus the latest acknowledged sequence at a given time. Increasing this limit enables parallel processing and batching at the output level to work on individual shards. Any given sequence will not be committed unless all messages under that offset are delivered in order to preserve at least once delivery guarantees. Default: 1024

commit_period string

The period of time between each update to the checkpoint table. Default: 5s

credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

dynamodb object

Determines the table used for storing and accessing the latest consumed sequence for shards, and for coordinating balanced consumers of streams.

5 nested properties
billing_mode string

When creating the table determines the billing mode. Default: PAY_PER_REQUEST

create boolean

Whether, if the table does not exist, it should be created. Default: false

read_capacity_units integer

Set the provisioned read capacity when creating the table with a billing_mode of PROVISIONED. Default: 0

table string

The name of the table to access. Default:

write_capacity_units integer

Set the provisioned write capacity when creating the table with a billing_mode of PROVISIONED. Default: 0

endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

lease_period string

The period of time after which a client that has failed to update a shard checkpoint is assumed to be inactive. Default: 30s

rebalance_period string

The period of time between each attempt to rebalance shards across clients. Default: 30s

region string

The AWS region to target. Default:

start_from_oldest boolean

Whether to consume from the oldest message when a sequence does not yet exist for the stream. Default: true

streams string[]

One or more Kinesis data streams to consume from. Streams can either be specified by their name or full ARN. Shards of a stream are automatically balanced across consumers by coordinating through the provided DynamoDB table. Multiple comma separated streams can be listed in a single element. Shards are automatically distributed across consumers of a stream by coordinating through the provided DynamoDB table. Alternatively, it's possible to specify an explicit shard to consume from with a colon after the stream name, e.g. foo:0 would consume the shard 0 of the stream foo.

Examples: ["foo","arn:aws:kinesis:*:111122223333:stream/my-stream"]
aws_s3 object
11 nested properties
bucket string

The bucket to consume from. If the field sqs.url is specified this field is optional. Default:

codec string

The way in which the bytes of a data source should be converted into discrete messages, codecs are useful for specifying how large files or continuous streams of data might be processed in small chunks rather than loading it all in memory. It's possible to consume lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Codecs can be chained with /, for example a gzip compressed CSV file can be consumed with the codec gzip/csv.

Examples: "lines", "delim: ", "delim:foobar", "gzip/csv"
credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

delete_objects boolean

Whether to delete downloaded objects from the bucket once they are processed. Default: false

endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

force_path_style_urls boolean

Forces the client API to use path style URLs for downloading keys, which is often required when connecting to custom endpoints. Default: false

max_buffer integer

Default: 1000000

prefix string

An optional path prefix, if set only objects with the prefix are consumed when walking a bucket. Default:

region string

The AWS region to target. Default:

scanner object

The scanner by which the stream of bytes consumed will be broken out into individual messages. Scanners are useful for processing large sources of data without holding the entirety of it within memory. For example, the csv scanner allows you to process individual CSV rows without loading the entire CSV file in memory at once. Default: map[to_the_end:map[]]

sqs object

Consume SQS messages in order to trigger key downloads.

8 nested properties
bucket_path string

A dot path whereby the bucket name can be found in SQS messages. Default: Records.*.s3.bucket.name

delay_period string

An optional period of time to wait from when a notification was originally sent to when the target key download is attempted. Default:

Examples: "10s", "5m"
endpoint string

A custom endpoint to use when connecting to SQS. Default:

envelope_path string

A dot path of a field to extract an enveloped JSON payload for further extracting the key and bucket from SQS messages. This is specifically useful when subscribing an SQS queue to an SNS topic that receives bucket events. Default:

Examples: "Message"
key_path string

A dot path whereby object keys are found in SQS messages. Default: Records.*.s3.object.key

max_messages integer

The maximum number of SQS messages to consume from each request. Default: 10

url string

An optional SQS URL to connect to. When specified this queue will control which objects are downloaded. Default:

wait_time_seconds integer

Whether to set the wait time. Enabling this activates long-polling. Valid values: 0 to 20. Default: 0

aws_sqs object
10 nested properties
credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

custom_request_headers object

A map used to send custom HTTP headers alongside each SQS operation to AWS. Default: map[]

delete_message boolean

Whether to delete the consumed message once it is acked. Disabling allows you to handle the deletion using a different mechanism. Default: true

endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

max_number_of_messages integer

The maximum number of messages to return on one poll. Valid values: 1 to 10. Default: 10

region string

The AWS region to target. Default:

reset_visibility boolean

Whether to set the visibility timeout of the consumed message to zero once it is nacked. Disabling honors the preset visibility timeout specified for the queue. Default: true

update_visibility boolean

Whether to periodically refresh the visibility timeout of in-flight messages to prevent more-than-once delivery while still processing. Default: true

url string

The SQS URL to consume from.

wait_time_seconds integer

Whether to set the wait time. Enabling this activates long-polling. Valid values: 0 to 20. Default: 0

azure_blob_storage object
11 nested properties
codec string

The way in which the bytes of a data source should be converted into discrete messages, codecs are useful for specifying how large files or continuous streams of data might be processed in small chunks rather than loading it all in memory. It's possible to consume lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Codecs can be chained with /, for example a gzip compressed CSV file can be consumed with the codec gzip/csv.

Examples: "lines", "delim: ", "delim:foobar", "gzip/csv"
container string

The name of the container from which to download blobs.

delete_objects boolean

Whether to delete downloaded objects from the blob once they are processed. Default: false

max_buffer integer

Default: 1000000

prefix string

An optional path prefix, if set only objects with the prefix are consumed. Default:

scanner object

The scanner by which the stream of bytes consumed will be broken out into individual messages. Scanners are useful for processing large sources of data without holding the entirety of it within memory. For example, the csv scanner allows you to process individual CSV rows without loading the entire CSV file in memory at once. Default: map[to_the_end:map[]]

storage_access_key string

The storage account access key. This field is ignored if storage_connection_string is set. Default:

storage_account string

The storage account to access. This field is ignored if storage_connection_string is set. Default:

storage_connection_string string

A storage account connection string. This field is required if storage_account and storage_access_key / storage_sas_token are not set. Default:

storage_sas_token string

The storage account SAS token. This field is ignored if storage_connection_string or storage_access_key are set. Default:

targets_input object

EXPERIMENTAL: An optional source of download targets, configured as a regular Bento input. Each message yielded by this input should be a single structured object containing a field name, which represents the blob to be downloaded.

Examples: {"mqtt":{"topics":["some-topic"],"urls":["example.westeurope-1.ts.eventgrid.azure.net:8883"]},"processors":[{"unarchive":{"format":"json_array"}},{"mapping":"if this.eventType == \"Microsoft.Storage.BlobCreated\" {\n root.name = this.data.url.parse_url().path.trim_prefix(\"/foocontainer/\")\n} else {\n root = deleted()\n}"}]}
azure_cosmosdb object
10 nested properties
account_key string

Account key.

Examples: "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=="
args_mapping string

A Bloblang mapping that, for each message, creates a list of arguments to use with the query.

Examples: "root = [ { "Name": "@name", "Value": "bento" }, ]"
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

batch_count integer

The maximum number of messages that should be accumulated into each batch. Use '-1' specify dynamic page size. Default: -1

connection_string string

Connection string.

Examples: "AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;"
container string

Container.

Examples: "testcontainer"
database string

Database.

Examples: "testdb"
endpoint string

CosmosDB endpoint.

Examples: "https://localhost:8081"
partition_keys_map string

A Bloblang mapping which should evaluate to a single partition key value or an array of partition key values of type string, integer or boolean. Currently, hierarchical partition keys are not supported so only one value may be provided.

Examples: "root = "blobfish"", "root = 41", "root = true", "root = null", "root = now().ts_format("2006-01-02")"
query string

The query to execute

Examples: "SELECT c.foo FROM testcontainer AS c WHERE c.bar = "baz" AND c.timestamp < @timestamp"
azure_queue_storage object
8 nested properties
dequeue_visibility_timeout string

The timeout duration until a dequeued message gets visible again, 30s by default Default: 30s

max_in_flight integer

The maximum number of unprocessed messages to fetch at a given time. Default: 10

queue_name string

The name of the source storage queue.

Examples: "foo_queue", "${! env("MESSAGE_TYPE").lowercase() }"
storage_access_key string

The storage account access key. This field is ignored if storage_connection_string is set. Default:

storage_account string

The storage account to access. This field is ignored if storage_connection_string is set. Default:

storage_connection_string string

A storage account connection string. This field is required if storage_account and storage_access_key / storage_sas_token are not set. Default:

storage_sas_token string

Default:

track_properties boolean

If set to true the queue is polled on each read request for information such as the queue message lag. These properties are added to consumed messages as metadata, but will also have a negative performance impact. Default: false

azure_service_bus_queue object
7 nested properties
auto_ack boolean

Whether to automatically acknowledge messages as they are consumed rather than waiting for acknowledgments from downstream. This can improve throughput but at the cost of eliminating delivery guarantees. Default: false

connection_string string

The Service Bus connection string. This can be obtained from the Azure portal. If not provided, namespace and default credentials will be used. Default:

Examples: "Endpoint=sb://example.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=..."
max_in_flight integer

The maximum number of unprocessed messages to fetch at a given time. Default: 10

nack_reject_patterns string[]

A list of regular expression patterns whereby if a message that has failed to be delivered by Bento has an error that matches it will be nacked (or sent to dead letter queue if configured). By default failed messages are nacked with requeue enabled. Default: []

Examples: ["^reject me please:.+$"]
namespace string

The Service Bus namespace. Required when connection_string is not provided. Default:

Examples: "myservicebus.servicebus.windows.net"
queue string

The name of the Service Bus queue to consume from.

renew_lock boolean

Automatically renew message locks to prevent lock expiration during processing. Useful for long-running message processing. Default: true

azure_table_storage object
8 nested properties
filter string

OData filter expression. Is not set all rows are returned. Valid operators are eq, ne, gt, lt, ge and le Default:

Examples: "PartitionKey eq 'foo' and RowKey gt '1000'"
page_size integer

Maximum number of records to return on each page. Default: 1000

select string

Select expression using OData notation. Limits the columns on each record to just those requested. Default:

Examples: "PartitionKey,RowKey,Foo,Bar,Timestamp"
storage_access_key string

The storage account access key. This field is ignored if storage_connection_string is set. Default:

storage_account string

The storage account to access. This field is ignored if storage_connection_string is set. Default:

storage_connection_string string

A storage account connection string. This field is required if storage_account and storage_access_key / storage_sas_token are not set. Default:

storage_sas_token string

The storage account SAS token. This field is ignored if storage_connection_string or storage_access_key are set. Default:

table_name string

The table to read messages from.

Examples: "Foo"
batched object
2 nested properties
child object

The child input.

policy object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
beanstalkd object
1 nested properties
address string

An address to connect to.

Examples: "127.0.0.1:11300"
broker object
3 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
copies integer

Whatever is specified within inputs will be created this many times. Default: 1

inputs object[]

A list of inputs to create.

cassandra object
9 nested properties
addresses string[]

A list of Cassandra nodes to connect to. Multiple comma separated addresses can be specified on a single line.

Examples: ["localhost:9042"], ["foo:9042","bar:9042"], ["foo:9042,bar:9042"]
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

backoff object

Control time intervals between retry attempts.

2 nested properties
initial_interval string

The initial period to wait between retry attempts. Default: 1s

max_interval string

The maximum period to wait between retry attempts. Default: 5s

disable_initial_host_lookup boolean

If enabled the driver will not attempt to get host info from the system.peers table. This can speed up queries but will mean that data_centre, rack and token information will not be available. Default: false

max_retries integer

The maximum number of retries before giving up on a request. Default: 3

password_authenticator object

Optional configuration of Cassandra authentication parameters.

3 nested properties
enabled boolean

Whether to use password authentication Default: false

password string

The password to authenticate with. Default:

username string

The username to authenticate as. Default:

query string

A query to execute.

timeout string

The client connection timeout. Default: 600ms

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

cockroachdb_changefeed object
6 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

cursor_cache string

A cache resource to use for storing the current latest cursor that has been successfully delivered, this allows Bento to continue from that cursor upon restart, rather than consume the entire state of the table.

dsn string

A Data Source Name to identify the target database.

Examples: "postgres://user:[email protected]:26257/defaultdb?sslmode=require"
options string[]

A list of options to be included in the changefeed (WITH X, Y...). NOTE: Both the CURSOR option and UPDATED will be ignored from these options when a cursor_cache is specified, as they are set explicitly by Bento in this case.

Examples: ["virtual_columns=\"omitted\""]
tables string[]

CSV of tables to be included in the changefeed

Examples: ["table1","table2"]
tls object

Custom TLS settings can be used to override system defaults.

5 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

csv object
9 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

batch_count integer

Optionally process records in batches. This can help to speed up the consumption of exceptionally large CSV files. When the end of the file is reached the remaining records are processed as a (potentially smaller) batch. Default: 1

delete_on_finish boolean

Whether to delete input files from the disk once they are fully consumed. Default: false

delimiter string

The delimiter to use for splitting values in each record. It must be a single character. Default: ,

expected_headers string[]

An optional list of expected headers in the header row. If provided, the scanner will check the file contents and emit an error if any expected headers don't match.

Examples: ["first_name","last_name","age"]
expected_number_of_fields integer

The number of expected fields in the csv file.

lazy_quotes boolean

If set to true, a quote may appear in an unquoted field and a non-doubled quote may appear in a quoted field. Default: false

parse_header_row boolean

Whether to reference the first row as a header row. If set to true the output structure for messages will be an object where field keys are determined by the header row. Otherwise, each message will consist of an array of values from the corresponding CSV row. Default: true

paths string[]

A list of file paths to read from. Each file will be read sequentially until the list is exhausted, at which point the input will close. Glob patterns are supported, including super globs (double star).

Examples: ["/tmp/foo.csv","/tmp/bar/*.csv","/tmp/data/**/*.csv"]
cypher object
7 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

basic_auth object

Basic Authentication fields

3 nested properties
password string

The password for basic auth. Default:

realm string

The realm for basic auth. Default:

user string

The username for basic auth. Default:

database string

The name of the database to connect to.

Examples: "neo4j"
no_auth boolean

Set to true to connect without authentication. Default: false

query string

The cypher query to execute.

Examples: "MATCH (n) RETURN n"
tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

uri string

The URL of the database engine.

Examples: "bolt://localhost:7687"
discord object
8 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

bot_token string

A bot token used for authentication.

cache string

A cache resource to use for performing unread message backfills, the ID of the last message received will be stored in this cache and used for subsequent requests.

cache_key string

The key identifier used when storing the ID of the last message received. Default: last_message_id

channel_id string

A discord channel ID to consume messages from.

limit integer

The maximum number of messages to receive in a single request. Default: 100

poll_period string

The length of time (as a duration string) to wait between each poll for backlogged messages. This field can be set empty, in which case requests are made at the limit set by the rate limit. This field also supports cron expressions. Default: 1m

rate_limit string

Default: An optional rate limit resource to restrict API requests with.

dynamic object
2 nested properties
inputs object

A map of inputs to statically create. Default: map[]

prefix string

A path prefix for HTTP endpoints that are registered. Default:

etcd object
18 nested properties
auth object

Optional configuration of etcd authentication headers.

3 nested properties
enabled boolean

Whether to use password authentication Default: false

password string

The password to authenticate with. Default:

username string

The username to authenticate as. Default:

auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

auto_sync_interval string

The interval to update endpoints with its latest members. 0 disables auto-sync. By default auto-sync is disabled.

backoff_jitter_fraction number

The jitter fraction to randomize backoff wait time.

backoff_wait_between string

The wait time before retrying an RPC.

dial_timeout string

Timeout for failing to establish a connection. Default: 5s

endpoints string[]

A set of URLs (schemes, hosts and ports only) that can be used to communicate with a logical etcd cluster. If multiple endpoints are provided, the Client will attempt to use them all in the event that one or more of them are unusable.

Examples: ["etcd://:2379"], ["etcd://localhost:2379"], ["etcd://localhost:2379","etcd://localhost:22379","etcd://localhost:32379"]
keep_alive_time string

Time after which client pings the server to see if transport is alive. Default: 5s

keep_alive_timeout string

Time that the client waits for a response for the keep-alive probe. If the response is not received in this time, the connection is closed. Default: 1s

key string

The key or prefix being watched. For prefix watching, options.with_prefix should be true

max_call_recv_msg_size integer

The client-side response receive limit. If 0, it defaults to math.MaxInt32.

max_call_send_msg_size integer

The client-side request send limit in bytes. If 0, it defaults to 2.0 MiB (2 * 1024 * 1024).

max_unary_retries integer

The maximum number of retries for unary RPCs.

options object

Collection of options to configure an etcd watcher.

6 nested properties
with_created_notify boolean

Whether to send CREATED notify events to the watcher. Default: false

with_delete_filter boolean

Whether to discard DELETE events from the watcher. Default: false

with_prefix boolean

Whether to watch for events on a prefix. Default: false

with_progress_notify boolean

Whether to send periodic progress updates every 10 minutes when there is no incoming events. Default: false

with_put_filter boolean

Whether to discard PUT events from the watcher. Default: false

with_range string

Will cause the watcher to return a range of lexicographically sorted keys to return in the form [key, end) where end is the passed parameter. Default:

permit_without_stream boolean

When set, will allow client to send keepalive pings to server without any active streams (RPCs). Default: false

reject_old_cluster boolean

When set, will refuse to create a client against an outdated cluster. Default: false

request_timeout string

Timeout for a single request. This includes connection time, any redirects, and header wait time. Default: 1s

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

file object
6 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

codec string

The way in which the bytes of a data source should be converted into discrete messages, codecs are useful for specifying how large files or continuous streams of data might be processed in small chunks rather than loading it all in memory. It's possible to consume lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Codecs can be chained with /, for example a gzip compressed CSV file can be consumed with the codec gzip/csv.

Examples: "lines", "delim: ", "delim:foobar", "gzip/csv"
delete_on_finish boolean

Whether to delete input files from the disk once they are fully consumed. Default: false

max_buffer integer

Default: 1000000

paths string[]

A list of paths to consume sequentially. Glob patterns are supported, including super globs (double star).

scanner object

The scanner by which the stream of bytes consumed will be broken out into individual messages. Scanners are useful for processing large sources of data without holding the entirety of it within memory. For example, the csv scanner allows you to process individual CSV rows without loading the entire CSV file in memory at once. Default: map[lines:map[]]

gcp_bigquery_select object
10 nested properties
args_mapping string

An optional Bloblang mapping which should evaluate to an array of values matching in size to the number of placeholder arguments in the field where.

Examples: "root = [ "article", now().ts_format("2006-01-02") ]"
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

columns string[]

A list of columns to query.

job_labels object

A list of labels to add to the query job. Default: map[]

prefix string

An optional prefix to prepend to the select query (before SELECT).

priority string

The priority with which to schedule the query. Default:

project string

GCP project where the query job will execute.

suffix string

An optional suffix to append to the select query.

table string

Fully-qualified BigQuery table name to query.

Examples: "bigquery-public-data.samples.shakespeare"
where string

An optional where clause to add. Placeholder arguments are populated with the args_mapping field. Placeholders should always be question marks (?).

Examples: "type = ? and created_at > ?", "user_id = ?"
gcp_cloud_storage object
6 nested properties
bucket string

The name of the bucket from which to download objects.

codec string

The way in which the bytes of a data source should be converted into discrete messages, codecs are useful for specifying how large files or continuous streams of data might be processed in small chunks rather than loading it all in memory. It's possible to consume lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Codecs can be chained with /, for example a gzip compressed CSV file can be consumed with the codec gzip/csv.

Examples: "lines", "delim: ", "delim:foobar", "gzip/csv"
delete_objects boolean

Whether to delete downloaded objects from the bucket once they are processed. Default: false

max_buffer integer

Default: 1000000

prefix string

An optional path prefix, if set only objects with the prefix are consumed. Default:

scanner object

The scanner by which the stream of bytes consumed will be broken out into individual messages. Scanners are useful for processing large sources of data without holding the entirety of it within memory. For example, the csv scanner allows you to process individual CSV rows without loading the entire CSV file in memory at once. Default: map[to_the_end:map[]]

gcp_pubsub object
7 nested properties
create_subscription object

Allows you to configure the input subscription and creates if it doesn't exist.

2 nested properties
enabled boolean

Whether to configure subscription or not. Default: false

topic string

Defines the topic that the subscription should be vinculated to. Default:

endpoint string

An optional endpoint to override the default of pubsub.googleapis.com:443. This can be used to connect to a region specific pubsub endpoint. For a list of valid values check out this document. Default:

Examples: "us-central1-pubsub.googleapis.com:443", "us-west3-pubsub.googleapis.com:443"
max_outstanding_bytes integer

The maximum number of outstanding pending messages to be consumed measured in bytes. Default: 1e+09

max_outstanding_messages integer

The maximum number of outstanding pending messages to be consumed at a given time. Default: 1000

project string

The project ID of the target subscription.

subscription string

The target subscription ID.

sync boolean

Enable synchronous pull mode. Default: false

gcp_spanner_cdc object
6 nested properties
end_time string

An optional field to define the end time to read from the changestreams, timestamp format should conform to RFC3339

Examples: "2006-01-02T15:04:05Z07:00"
heartbeat_interval string

An optional field to configure the heartbeat interval for partitions. Default: 3s

prefetch_count integer

The maximum number of messages to have pulled in. Default: 1024

Examples: 1024
spanner_dsn string

The dsn for spanner from where to read the changestream.

Examples: "projects/{projectId}/instances/{instanceId}/databases/{databaseName}"
start_time string

An optional field to define the start point to read from the changestreams. If not set then the current time is used. The timestamp format should conform to RFC3339, for details on valid start times please see this document

Examples: "2006-01-02T15:04:05Z07:00"
stream_name string

The name of the stream to track changes on.

generate object
5 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

batch_size integer

The number of generated messages that should be accumulated into each batch flushed at the specified interval. Default: 1

count integer

An optional number of messages to generate, if set above 0 the specified number of messages is generated and then the input will shut down. Default: 0

interval string

The time interval at which messages should be generated, expressed either as a duration string or as a cron expression. If set to an empty string messages will be generated as fast as downstream services can process them. Cron expressions can specify a timezone by prefixing the expression with TZ=<location name>, where the location name corresponds to a file within the IANA Time Zone database. Default: 1s

Examples: "5s", "1m", "1h", "@every 1s", "0,30 */2 * * * *", "TZ=Europe/London 30 3-6,20-23 * * *"
mapping string

A bloblang mapping to use for generating messages.

Examples: "root = "hello world"", "root = {"test":"message","id":uuid_v4()}"
hdfs object
3 nested properties
directory string

The directory to consume from.

hosts string[]

A list of target host addresses to connect to.

Examples: "localhost:9000"
user string

A user ID to connect as. Default:

http_client object
25 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

backoff_on integer

A list of status codes whereby the request should be considered to have failed and retries should be attempted, but the period between them should be increased gradually. Default: [429]

basic_auth object

Allows you to specify basic authentication.

3 nested properties
enabled boolean

Whether to use basic authentication in requests. Default: false

password string

A password to authenticate with. Default:

username string

A username to authenticate as. Default:

drop_empty_bodies boolean

Whether empty payloads received from the target server should be dropped. Default: true

drop_on integer

A list of status codes whereby the request should be considered to have failed but retries should not be attempted. This is useful for preventing wasted retries for requests that will never succeed. Note that with these status codes the request is dropped, but message that caused the request will not be dropped. Default: []

dump_request_log_level string

EXPERIMENTAL: Optionally set a level at which the request and response payload of each request made will be logged. Default:

extract_headers object

Specify which response headers should be added to resulting messages as metadata. Header keys are lowercased before matching, so ensure that your patterns target lowercased versions of the header keys that you expect.

2 nested properties
include_patterns string[]

Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []

Examples: [".*"], ["_timestamp_unix$"]
include_prefixes string[]

Provide a list of explicit metadata key prefixes to match against. Default: []

Examples: ["foo_","bar_"], ["kafka_"], ["content-"]
headers object

A map of headers to add to the request. Default: map[]

Examples: {"Content-Type":"application/octet-stream","traceparent":"${! tracing_span().traceparent }"}
jwt object

BETA: Allows you to specify JWT authentication.

5 nested properties
claims object

A value used to identify the claims that issued the JWT. Default: map[]

enabled boolean

Whether to use JWT authentication in requests. Default: false

headers object

Add optional key/value headers to the JWT. Default: map[]

private_key_file string

A file with the PEM encoded via PKCS1 or PKCS8 as private key. Default:

signing_method string

A method used to sign the token such as RS256, RS384, RS512 or EdDSA. Default:

max_retry_backoff string

The maximum period to wait between failed requests. Default: 300s

metadata object

Specify optional matching rules to determine which metadata keys should be added to the HTTP request as headers.

2 nested properties
include_patterns string[]

Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []

Examples: [".*"], ["_timestamp_unix$"]
include_prefixes string[]

Provide a list of explicit metadata key prefixes to match against. Default: []

Examples: ["foo_","bar_"], ["kafka_"], ["content-"]
oauth object

Allows you to specify open authentication via OAuth version 1.

5 nested properties
access_token string

A value used to gain access to the protected resources on behalf of the user. Default:

access_token_secret string

A secret provided in order to establish ownership of a given access token. Default:

consumer_key string

A value used to identify the client to the service provider. Default:

consumer_secret string

A secret used to establish ownership of the consumer key. Default:

enabled boolean

Whether to use OAuth version 1 in requests. Default: false

oauth2 object

Allows you to specify open authentication via OAuth version 2 using the client credentials token flow.

6 nested properties
client_key string

A value used to identify the client to the token provider. Default:

client_secret string

A secret used to establish ownership of the client key. Default:

enabled boolean

Whether to use OAuth version 2 in requests. Default: false

endpoint_params object

A list of optional endpoint parameters, values should be arrays of strings. Default: map[]

Examples: {"bar":["woof"],"foo":["meow","quack"]}
scopes string[]

A list of optional requested permissions. Default: []

token_url string

The URL of the token provider. Default:

payload string

An optional payload to deliver for each request.

proxy_url string

An optional HTTP proxy URL.

rate_limit string

An optional rate limit to throttle requests by.

retries integer

The maximum number of retry attempts to make. Default: 3

retry_period string

The base period to wait between failed requests. Default: 1s

stream object

Allows you to set streaming mode, where requests are kept open and messages are processed line-by-line.

5 nested properties
codec string

The way in which the bytes of a data source should be converted into discrete messages, codecs are useful for specifying how large files or continuous streams of data might be processed in small chunks rather than loading it all in memory. It's possible to consume lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Codecs can be chained with /, for example a gzip compressed CSV file can be consumed with the codec gzip/csv.

Examples: "lines", "delim: ", "delim:foobar", "gzip/csv"
enabled boolean

Enables streaming mode. Default: false

max_buffer integer

Default: 1000000

reconnect boolean

Sets whether to re-establish the connection once it is lost. Default: true

scanner object

The scanner by which the stream of bytes consumed will be broken out into individual messages. Scanners are useful for processing large sources of data without holding the entirety of it within memory. For example, the csv scanner allows you to process individual CSV rows without loading the entire CSV file in memory at once. Default: map[lines:map[]]

successful_on integer

A list of status codes whereby the attempt should be considered successful, this is useful for dropping requests that return non-2XX codes indicating that the message has been dealt with, such as a 303 See Other or a 409 Conflict. All 2XX codes are considered successful unless they are present within backoff_on or drop_on, regardless of this field. Default: []

timeout string

A static timeout to apply to requests. Default: 5s

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

transport object

Custom transport options.

6 nested properties
dial_context object

Settings for the dialer used to create new connections.

expect_continue_timeout string

Time to wait for a server's first response headers after sending request headers when 'Expect: 100-continue' is used. Zero means send body immediately. Default: 1s

force_http2 boolean

If true, the transport will attempt to use HTTP/2. Default: true

idle_connection_timeout string

Maximum time an idle keep-alive connection remains open before closing itself. Default: 90s

max_idle_connections integer

Maximum number of idle keep-alive connections. Zero = unlimited. Default: 100

tls_handshake_timeout string

Maximum time allowed for TLS handshake to complete. Default: 10s

url string

The URL to connect to.

verb string

A verb to connect with Default: GET

Examples: "POST", "GET", "DELETE"
http_server object
12 nested properties
address string

An alternative address to host from. If left empty the service wide address is used. Default:

allowed_verbs string[]

An array of verbs that are allowed for the path endpoint. Default: [POST]

cert_file string

Enable TLS by specifying a certificate and key file. Only valid with a custom address. Default:

cors object

Adds Cross-Origin Resource Sharing headers. Only valid with a custom address.

4 nested properties
allowed_headers string[]

Appends additional headers to the list of default allowed headers: Accept, Accept-Language, Content-Language & Origin. These default headers are therefore always allowed. Default: []

allowed_methods string[]

Used to explicitly set allowed methods in the Access-Control-Allow-Methods header. Default: [GET HEAD POST PUT PATCH DELETE]

allowed_origins string[]

An explicit list of origins that are allowed for CORS requests. Default: []

enabled boolean

Whether to allow CORS requests. Default: false

key_file string

Enable TLS by specifying a certificate and key file. Only valid with a custom address. Default:

path string

The endpoint path to listen for POST requests. Default: /post

rate_limit string

An optional rate limit to throttle requests by. Default:

sync_response object

Customise messages returned via synchronous responses.

3 nested properties
headers object

Specify headers to return with synchronous responses. Default: map[Content-Type:application/octet-stream]

metadata_headers object

Specify criteria for which metadata values are added to the response as headers.

status string

Specify the status code to return with synchronous responses. This is a string value, which allows you to customize it based on resulting payloads and their metadata. Default: 200

Examples: "${! json("status") }", "${! metadata("status").string() }"
timeout string

Timeout for requests. If a consumed messages takes longer than this to be delivered the connection is closed, but the message may still be delivered. Default: 5s

ws_path string

The endpoint path to create websocket connections from. Default: /post/ws

ws_rate_limit_message string

An optional message to delivery to websocket connections that are rate limited. Default:

ws_welcome_message string

An optional message to deliver to fresh websocket connections. Default:

inproc string

Default:

kafka object
19 nested properties
addresses string[]

A list of broker addresses to connect to. If an item of the list contains commas it will be expanded into multiple addresses.

Examples: ["localhost:9092"], ["localhost:9041,localhost:9042"], ["localhost:9041","localhost:9042"]
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
checkpoint_limit integer

The maximum number of messages of the same topic and partition that can be processed at a given time. Increasing this limit enables parallel processing and batching at the output level to work on individual partitions. Any given offset will not be committed unless all messages under that offset are delivered in order to preserve at least once delivery guarantees. Default: 1024

client_id string

An identifier for the client connection. Default: bento

commit_period string

The period of time between each commit of the current partition offsets. Offsets are always committed during shutdown. Default: 1s

consumer_group string

An identifier for the consumer group of the connection. This field can be explicitly made empty in order to disable stored offsets for the consumed topic partitions. Default:

extract_tracing_map string

EXPERIMENTAL: A Bloblang mapping that attempts to extract an object containing tracing propagation information, which will then be used as the root tracing span for the message. The specification of the extracted fields must match the format used by the service wide tracer.

Examples: "root = @", "root = this.meta.span"
fetch_buffer_cap integer

The maximum number of unprocessed messages to fetch at a given time. Default: 256

group object

Tuning parameters for consumer group synchronization.

3 nested properties
heartbeat_interval string

A period in which heartbeats should be sent out. Default: 3s

rebalance_timeout string

A period after which rebalancing is abandoned if unresolved. Default: 60s

session_timeout string

A period after which a consumer of the group is kicked after no heartbeats. Default: 10s

max_processing_period string

A maximum estimate for the time taken to process a message, this is used for tuning consumer group synchronization. Default: 100ms

multi_header boolean

Decode headers into lists to allow handling of multiple values with the same key Default: false

new_root_span_with_link boolean

EXPERIMENTAL: Starts a new root span with link to parent.

rack_id string

A rack identifier for this client. Default:

sasl object

Enables SASL authentication.

7 nested properties
access_token string

A static OAUTHBEARER access token Default:

aws object

Contains AWS specific fields for when the mechanism is set to AWS_MSK_IAM.

mechanism string

The SASL authentication mechanism, if left empty SASL authentication is not used. Default: none

password string

A PLAIN password. It is recommended that you use environment variables to populate this field. Default:

Examples: "${PASSWORD}"
token_cache string

Instead of using a static access_token allows you to query a cache resource to fetch OAUTHBEARER tokens from Default:

token_key string

Required when using a token_cache, the key to query the cache with for tokens. Default:

user string

A PLAIN username. It is recommended that you use environment variables to populate this field. Default:

Examples: "${USER}"
start_from_oldest boolean

Determines whether to consume from the oldest available offset, otherwise messages are consumed from the latest offset. The setting is applied when creating a new consumer group or the saved offset no longer exists. Default: true

target_version string

The version of the Kafka protocol to use. This limits the capabilities used by the client and should ideally match the version of your brokers. Defaults to the oldest supported stable version.

Examples: "2.1.0", "3.1.0"
tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

topics string[]

A list of topics to consume from. Multiple comma separated topics can be listed in a single element. Partitions are automatically distributed across consumers of a topic. Alternatively, it's possible to specify explicit partitions to consume from with a colon after the topic name, e.g. foo:0 would consume the partition 0 of the topic foo. This syntax supports ranges, e.g. foo:0-10 would consume partitions 0 through to 10 inclusive.

Examples: ["foo","bar"], ["foo,bar"], ["foo:0","bar:1","bar:3"], ["foo:0,bar:1,bar:3"], ["foo:0-5"]
kafka_franz object
23 nested properties
auto_offset_reset string

Determines which offset to automatically consume from, matching Kafka's auto.offset.reset property. When specified, this takes precedence over start_from_oldest.

auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

batching object

Allows you to configure a batching policy that applies to individual topic partitions in order to batch messages together before flushing them for processing. Batching can be beneficial for performance as well as useful for windowed processing, and doing so this way preserves the ordering of topic partitions.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
checkpoint_limit integer

:::caution Setting this checkpoint_limit: 1will not enforce 'strict ordered' processing of records. Use the kafka input processor for 'strict ordered' processing. :::

		Determines how many messages of the same partition can be processed in parallel before applying back pressure. When a message of a given offset is delivered to the output the offset is only allowed to be committed when all messages of prior offsets have also been delivered, this ensures at-least-once delivery guarantees. However, this mechanism also increases the likelihood of duplicates in the event of crashes or server faults, reducing the checkpoint limit will mitigate this. Default: 1024
client_id string

An identifier for the client connection. Default: bento

commit_period string

The period of time between each commit of the current partition offsets. Offsets are always committed during shutdown. Default: 5s

consumer_group string

An optional consumer group to consume as. When specified the partitions of specified topics are automatically distributed across consumers sharing a consumer group, and partition offsets are automatically committed and resumed under this name. Consumer groups are not supported when specifying explicit partitions to consume from in the topics field.

fetch_max_bytes string

This sets the maximum amount of bytes a broker will try to send during a fetch. Note that brokers may not obey this limit if it has records larger than this limit. Also note that this client sends a fetch to each broker concurrently, meaning the client will buffer up to <brokers * max bytes> worth of memory. Equivalent to Kafka's fetch.max.bytes option. Default: 50MiB

fetch_max_partition_bytes string

Sets the maximum amount of bytes that will be consumed for a single partition in a fetch request. Note that if a single batch is larger than this number, that batch will still be returned so the client can make progress. Equivalent to Kafka's max.partition.fetch.bytes option. Default: 1MiB

fetch_max_wait string

This sets the maximum amount of time a broker will wait for a fetch response to hit the minimum number of required bytes before returning, overriding the default 5s. Default: 5s

group_balancers string[]

Balancers sets the group balancers to use for dividing topic partitions among group members. This option is equivalent to Kafka's partition.assignment.strategies option. Default: [cooperative_sticky]

metadata_max_age string

This sets the maximum age for the client's cached metadata, to allow detection of new topics, partitions, etc. Default: 5m

multi_header boolean

Decode headers into lists to allow handling of multiple values with the same key Default: false

preferring_lag integer

This allows you to re-order partitions before they are fetched, given each partition's current lag.

By default, the client rotates partitions fetched by one after every fetch request. Kafka answers fetch requests in the order that partitions are requested, filling the fetch response untilfetch_max_bytes and fetch_max_partition_bytes are hit. All partitions eventually rotate to the front, ensuring no partition is starved.

With this option, you can return topic order and per-topic partition ordering. These orders will sort to the front (first by topic, then by partition). Any topic or partitions that you do not return are added to the end, preserving their original ordering.

rack_id string

A rack identifier for this client. Default:

rate_limit string

An optional rate_limit to throttle invocations by. Default:

reconnect_on_unknown_topic_or_partition boolean

Determines whether to close the client and force a reconnect after seeing an UNKNOWN_TOPIC_OR_PARTITION or UNKNOWN_TOPIC_ID error. Default: false

regexp_topics boolean

Whether listed topics should be interpreted as regular expression patterns for matching multiple topics. When topics are specified with explicit partitions this field must remain set to false. Default: false

sasl object[]

Specify one or more methods of SASL authentication. SASL is tried in order; if the broker supports the first mechanism, all connections will use that mechanism. If the first mechanism fails, the client will pick the first supported mechanism. If the broker does not support any client mechanisms, connections will fail.

Examples: [{"mechanism":"SCRAM-SHA-512","password":"bar","username":"foo"}]
seed_brokers string[]

A list of broker addresses to connect to in order to establish connections. If an item of the list contains commas it will be expanded into multiple addresses.

Examples: ["localhost:9092"], ["foo:9092","bar:9092"], ["foo:9092,bar:9092"]
start_from_oldest boolean

Determines whether to consume from the oldest available offset, otherwise messages are consumed from the latest offset. The setting is applied when creating a new consumer group or the saved offset no longer exists. Default: true

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

topics string[]

A list of topics to consume from. Multiple comma separated topics can be listed in a single element. When a consumer_group is specified partitions are automatically distributed across consumers of a topic, otherwise all partitions are consumed.

Alternatively, it's possible to specify explicit partitions to consume from with a colon after the topic name, e.g. foo:0 would consume the partition 0 of the topic foo. This syntax supports ranges, e.g. foo:0-10 would consume partitions 0 through to 10 inclusive.

Finally, it's also possible to specify an explicit offset to consume from by adding another colon after the partition, e.g. foo:0:10 would consume the partition 0 of the topic foo starting from the offset 10. If the offset is not present (or remains unspecified) then the field start_from_oldest determines which offset to start from.

Examples: ["foo","bar"], ["things.*"], ["foo,bar"], ["foo:0","bar:1","bar:3"], ["foo:0,bar:1,bar:3"], ["foo:0-5"]
kubernetes_watch object
21 nested properties
api_server string

Kubernetes API server URL. Only used when providing explicit credentials. Default:

auto_auth boolean

Automatically detect authentication method. Tries in-cluster config first, then falls back to kubeconfig. Default: true

backoff object

Control time intervals between retry attempts.

3 nested properties
initial_interval string

The initial period to wait between retry attempts. Default: 1s

max_elapsed_time string

The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 0s

max_interval string

The maximum period to wait between retry attempts. Default: 60s

ca_file string

Path to CA certificate file for verifying API server. Default:

client_burst integer

Burst limit for Kubernetes API client. 0 uses the client-go default. Default: 0

client_qps number

QPS limit for Kubernetes API client. 0 uses the client-go default. Default: 0

context string

Kubernetes context to use from kubeconfig. If empty, uses the current context. Default:

custom_resource object

Custom Resource Definition to watch. Use this for CRDs instead of 'resource'.

3 nested properties
group string

API group for the custom resource (e.g., 'stable.example.com'). Default:

resource string

Plural name of the custom resource (e.g., 'crontabs'). Default:

version string

API version for the custom resource (e.g., 'v1', 'v1beta1'). Default: v1

event_types string[]

Watch event types to include. Valid values are ADDED, MODIFIED, and DELETED. Default: [ADDED MODIFIED DELETED]

Examples: ["ADDED","DELETED"], ["MODIFIED"]
field_selector object

Kubernetes field selector to filter resources. Default: map[]

Examples: {"status.phase":"Running"}, {"metadata.name":"my-pod"}
include_initial_list boolean

Emit ADDED events for all existing resources when starting. Default: true

insecure_skip_verify boolean

Skip TLS certificate verification. Not recommended for production. Default: false

kubeconfig string

Path to kubeconfig file. If empty, uses $KUBECONFIG (if set) or the default kubeconfig location (~/.kube/config). Default:

kubeconfig_yaml string

Kubeconfig content as a YAML string. Use this to embed kubeconfig directly in your config (e.g., from a secret or environment variable) instead of referencing a file path. Default:

label_selector object

Kubernetes label selector to filter resources. Default: map[]

Examples: {"app":"myapp"}, {"app":"myapp","env":"prod"}
max_retries integer

The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0

namespaces string[]

Namespaces to watch. Empty list means all namespaces. Default: []

Examples: ["default"], ["production","staging"]
request_timeout string

Timeout for Kubernetes API requests such as list calls. Use "0s" to disable. Default: 30s

resource string

Standard Kubernetes resource type to watch. Default:

Examples: "pods", "deployments", "configmaps"
token string

Bearer token for authentication. Can be a service account token. Default:

token_file string

Path to file containing bearer token. Default:

mongodb object
12 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

batch_size integer

A explicit number of documents to batch up before flushing them for processing. Must be greater than 0. Operations: find, aggregate

Examples: 1000
collection string

The collection to select from.

database string

The name of the target MongoDB database.

json_marshal_mode string

The json_marshal_mode setting is optional and controls the format of the output message. Default: canonical

limit integer

An explicit maximum number of documents to return. Operations: find

operation string

The mongodb operation to perform. Default: find

password string

The password to connect to the database. Default:

query string

Bloblang expression describing MongoDB query.

Examples: " root.from = {"$lte": timestamp_unix()} root.to = {"$gte": timestamp_unix()} "
sort object

An object specifying fields to sort by, and the respective sort order (1 ascending, -1 descending). Note: The driver currently appears to support only one sorting key. Operations: find

Examples: {"name":1}, {"age":-1}
url string

The URL of the target MongoDB server.

Examples: "mongodb://localhost:27017"
username string

The username to connect to the database. Default:

mqtt object
13 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

clean_session boolean

Set whether the connection is non-persistent. Default: true

client_id string

An identifier for the client connection. Default:

connect_timeout string

The maximum amount of time to wait in order to establish a connection before the attempt is abandoned. Default: 30s

Examples: "1s", "500ms"
dynamic_client_id_suffix string

Append a dynamically generated suffix to the specified client_id on each run of the pipeline. This can be useful when clustering Bento producers.

keepalive integer

Max seconds of inactivity before a keepalive message is sent. Default: 30

password string

A password to connect with. Default:

qos integer

The level of delivery guarantee to enforce. Has options 0, 1, 2. Default: 1

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

topics string[]

A list of topics to consume from.

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["tcp://localhost:1883"]
user string

A username to connect with. Default:

will object

Set last will message in case of Bento failure

5 nested properties
enabled boolean

Whether to enable last will messages. Default: false

payload string

Set payload for last will message. Default:

qos integer

Set QoS for last will message. Valid values are: 0, 1, 2. Default: 0

retained boolean

Set retained for last will message. Default: false

topic string

Set topic for last will message. Default:

nanomsg object
6 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

bind boolean

Whether the URLs provided should be connected to, or bound as. Default: true

poll_timeout string

The period to wait until a poll is abandoned and reattempted. Default: 5s

socket_type string

The socket type to use. Default: PULL

sub_filters string[]

A list of subscription topic filters to use when consuming from a SUB socket. Specifying a single sub_filter of '' will subscribe to everything. Default: []

urls string[]

A list of URLs to connect to (or as). If an item of the list contains commas it will be expanded into multiple URLs.

nats object
10 nested properties
auth object

Optional configuration of NATS authentication parameters.

4 nested properties
nkey_file string

An optional file containing a NKey seed.

Examples: "./seed.nk"
user_credentials_file string

An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.

Examples: "./user.creds"
user_jwt string

An optional plain text user JWT (given along with the corresponding user NKey Seed).

user_nkey_seed string

An optional plain text user NKey Seed (given along with the corresponding user JWT).

auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

extract_tracing_map string

EXPERIMENTAL: A Bloblang mapping that attempts to extract an object containing tracing propagation information, which will then be used as the root tracing span for the message. The specification of the extracted fields must match the format used by the service wide tracer.

Examples: "root = @", "root = this.meta.span"
nak_delay string

An optional delay duration on redelivering a message when negatively acknowledged.

Examples: "1m"
new_root_span_with_link boolean

EXPERIMENTAL: Starts a new root span with link to parent.

prefetch_count integer

The maximum number of messages to pull at a time. Default: 524288

queue string

An optional queue group to consume as.

subject string

A subject to consume from. Supports wildcards for consuming multiple subjects. Either a subject or stream must be specified.

Examples: "foo.bar.baz", "foo.*.baz", "foo.bar.*", "foo.>"
tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["nats://127.0.0.1:4222"], ["nats://username:[email protected]:4222"]
nats_jetstream object
13 nested properties
ack_wait string

The maximum amount of time NATS server should wait for an ack from consumer. Default: 30s

Examples: "100ms", "5m"
auth object

Optional configuration of NATS authentication parameters.

4 nested properties
nkey_file string

An optional file containing a NKey seed.

Examples: "./seed.nk"
user_credentials_file string

An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.

Examples: "./user.creds"
user_jwt string

An optional plain text user JWT (given along with the corresponding user NKey Seed).

user_nkey_seed string

An optional plain text user NKey Seed (given along with the corresponding user JWT).

bind boolean

Indicates that the subscription should use an existing consumer.

deliver string

Determines which messages to deliver when consuming without a durable subscriber. Default: all

durable string

Preserve the state of your consumer under a durable name.

extract_tracing_map string

EXPERIMENTAL: A Bloblang mapping that attempts to extract an object containing tracing propagation information, which will then be used as the root tracing span for the message. The specification of the extracted fields must match the format used by the service wide tracer.

Examples: "root = @", "root = this.meta.span"
max_ack_pending integer

The maximum number of outstanding acks to be allowed before consuming is halted. Default: 1024

new_root_span_with_link boolean

EXPERIMENTAL: Starts a new root span with link to parent.

queue string

An optional queue group to consume as.

stream string

A stream to consume from. Either a subject or stream must be specified.

subject string

A subject to consume from. Supports wildcards for consuming multiple subjects. Either a subject or stream must be specified.

Examples: "foo.bar.baz", "foo.*.baz", "foo.bar.*", "foo.>"
tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["nats://127.0.0.1:4222"], ["nats://username:[email protected]:4222"]
nats_kv object
9 nested properties
auth object

Optional configuration of NATS authentication parameters.

4 nested properties
nkey_file string

An optional file containing a NKey seed.

Examples: "./seed.nk"
user_credentials_file string

An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.

Examples: "./user.creds"
user_jwt string

An optional plain text user JWT (given along with the corresponding user NKey Seed).

user_nkey_seed string

An optional plain text user NKey Seed (given along with the corresponding user JWT).

auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

bucket string

The name of the KV bucket.

Examples: "my_kv_bucket"
ignore_deletes boolean

Do not send delete markers as messages. Default: false

include_history boolean

Include all the history per key, not just the last one. Default: false

key string

Key to watch for updates, can include wildcards. Default: >

Examples: "foo.bar.baz", "foo.*.baz", "foo.bar.*", "foo.>"
meta_only boolean

Retrieve only the metadata of the entry Default: false

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["nats://127.0.0.1:4222"], ["nats://username:[email protected]:4222"]
nats_object_store object
5 nested properties
auth object

Optional configuration of NATS authentication parameters.

4 nested properties
nkey_file string

An optional file containing a NKey seed.

Examples: "./seed.nk"
user_credentials_file string

An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.

Examples: "./user.creds"
user_jwt string

An optional plain text user JWT (given along with the corresponding user NKey Seed).

user_nkey_seed string

An optional plain text user NKey Seed (given along with the corresponding user JWT).

auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

bucket string

The name of the object store bucket.

Examples: "my_bucket"
tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["nats://127.0.0.1:4222"], ["nats://username:[email protected]:4222"]
nats_stream object
14 nested properties
ack_wait string

An optional duration to specify at which a message that is yet to be acked will be automatically retried. Default: 30s

auth object

Optional configuration of NATS authentication parameters.

4 nested properties
nkey_file string

An optional file containing a NKey seed.

Examples: "./seed.nk"
user_credentials_file string

An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.

Examples: "./user.creds"
user_jwt string

An optional plain text user JWT (given along with the corresponding user NKey Seed).

user_nkey_seed string

An optional plain text user NKey Seed (given along with the corresponding user JWT).

client_id string

A client ID to connect as. Default:

cluster_id string

The ID of the cluster to consume from.

durable_name string

Preserve the state of your consumer under a durable name. Default:

extract_tracing_map string

EXPERIMENTAL: A Bloblang mapping that attempts to extract an object containing tracing propagation information, which will then be used as the root tracing span for the message. The specification of the extracted fields must match the format used by the service wide tracer.

Examples: "root = @", "root = this.meta.span"
max_inflight integer

The maximum number of unprocessed messages to fetch at a given time. Default: 1024

new_root_span_with_link boolean

EXPERIMENTAL: Starts a new root span with link to parent.

queue string

The queue to consume from. Default:

start_from_oldest boolean

If a position is not found for a queue, determines whether to consume from the oldest available message, otherwise messages are consumed from the latest. Default: true

subject string

A subject to consume from. Default:

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

unsubscribe_on_close boolean

Whether the subscription should be destroyed when this client disconnects. Default: false

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["nats://127.0.0.1:4222"], ["nats://username:[email protected]:4222"]
nsq object
9 nested properties
auth_secret string

An optional secret for NSQ authentication (requires nsqd 0.2.29+).

channel string

The channel to consume from.

lookupd_http_addresses string[]

A list of nsqlookupd addresses to connect to.

max_attempts integer

The maximum number of attempts to successfully consume a messages. Default: 5

max_in_flight integer

The maximum number of pending messages to consume at any given time. Default: 100

nsqd_tcp_addresses string[]

A list of nsqd addresses to connect to.

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

topic string

The topic to consume from.

user_agent string

A user agent to assume when connecting.

parquet object
4 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

batch_count integer

Optionally process records in batches. This can help to speed up the consumption of exceptionally large files. When the end of the file is reached the remaining records are processed as a (potentially smaller) batch. Default: 1

paths string[]

A list of file paths to read from. Each file will be read sequentially until the list is exhausted, at which point the input will close. Glob patterns are supported, including super globs (double star).

Examples: "/tmp/foo.parquet", "/tmp/bar/*.parquet", "/tmp/data/**/*.parquet"
strict_schema boolean

Whether to enforce strict Parquet schema validation. When set to false, allows reading files with non-standard schema structures (such as non-standard LIST formats). Disabling strict mode may reduce validation but increases compatibility. Default: true

pulsar object
7 nested properties
auth object

Optional configuration of Pulsar authentication methods.

2 nested properties
oauth2 object

Parameters for Pulsar OAuth2 authentication.

token object

Parameters for Pulsar Token authentication.

subscription_name string

Specify the subscription name for this consumer.

subscription_type string

Specify the subscription type for this consumer.

NOTE: Using a key_shared subscription type will allow out-of-order delivery since nack-ing messages sets non-zero nack delivery delay - this can potentially cause consumers to stall. See Pulsar documentation and this Github issue for more details. Default: shared

tls object

Specify the path to a custom CA certificate to trust broker TLS service.

1 nested properties
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
topics string[]

A list of topics to subscribe to. This or topics_pattern must be set.

topics_pattern string

A regular expression matching the topics to subscribe to. This or topics must be set.

url string

A URL to connect to.

Examples: "pulsar://localhost:6650", "pulsar://pulsar.us-west.example.com:6650", "pulsar+ssl://pulsar.us-west.example.com:6651"
read_until object
4 nested properties
check string

A Bloblang query that should return a boolean value indicating whether the input should now be closed.

Examples: "this.type == "foo"", "count("messages") >= 100"
idle_timeout string

The maximum amount of time without receiving new messages after which the input is closed.

Examples: "5s"
input object

The child input to consume from.

restart_input boolean

Whether the input should be reopened if it closes itself before the condition has resolved to true. Default: false

redis_list object
9 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

command string

The command used to pop elements from the Redis list Default: blpop

key string

The key of a list to read from.

kind string

Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple

master string

Name of the redis master when kind is failover Default:

Examples: "mymaster"
max_in_flight integer

Optionally sets a limit on the number of messages that can be flowing through a Bento stream pending acknowledgment from the input at any given time. Once a message has been either acknowledged or rejected (nacked) it is no longer considered pending. If the input produces logical batches then each batch is considered a single count against the maximum. WARNING: Batching policies at the output level will stall if this field limits the number of messages below the batching threshold. Zero (default) or lower implies no limit. Default: 0

timeout string

The length of time to poll for new messages before reattempting. Default: 5s

tls object

Custom TLS settings can be used to override system defaults.

Troubleshooting

Some cloud hosted instances of Redis (such as Azure Cache) might need some hand holding in order to establish stable connections. Unfortunately, it is often the case that TLS issues will manifest as generic error messages such as "i/o timeout". If you're using TLS and are seeing connectivity problems consider setting enable_renegotiation to true, and ensuring that the server supports at least TLS version 1.2.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

The URL of the target Redis server. Database is optional and is supplied as the URL path.

Examples: "redis://:6397", "redis://localhost:6379", "redis://foousername:foopassword@redisplace:6379", "redis://:foopassword@redisplace:6379", "redis://localhost:6379/1", "redis://localhost:6379/1,redis://localhost:6380/1"
redis_pubsub object
7 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

channels string[]

A list of channels to consume from.

kind string

Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple

master string

Name of the redis master when kind is failover Default:

Examples: "mymaster"
tls object

Custom TLS settings can be used to override system defaults.

Troubleshooting

Some cloud hosted instances of Redis (such as Azure Cache) might need some hand holding in order to establish stable connections. Unfortunately, it is often the case that TLS issues will manifest as generic error messages such as "i/o timeout". If you're using TLS and are seeing connectivity problems consider setting enable_renegotiation to true, and ensuring that the server supports at least TLS version 1.2.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

The URL of the target Redis server. Database is optional and is supplied as the URL path.

Examples: "redis://:6397", "redis://localhost:6379", "redis://foousername:foopassword@redisplace:6379", "redis://:foopassword@redisplace:6379", "redis://localhost:6379/1", "redis://localhost:6379/1,redis://localhost:6380/1"
use_patterns boolean

Whether to use the PSUBSCRIBE command, allowing for glob-style patterns within target channel names. Default: false

redis_scan object
6 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

kind string

Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple

master string

Name of the redis master when kind is failover Default:

Examples: "mymaster"
match string

Iterates only elements matching the optional glob-style pattern. By default, it matches all elements. Default:

Examples: "*", "1*", "foo*", "foo", "*4*"
tls object

Custom TLS settings can be used to override system defaults.

Troubleshooting

Some cloud hosted instances of Redis (such as Azure Cache) might need some hand holding in order to establish stable connections. Unfortunately, it is often the case that TLS issues will manifest as generic error messages such as "i/o timeout". If you're using TLS and are seeing connectivity problems consider setting enable_renegotiation to true, and ensuring that the server supports at least TLS version 1.2.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

The URL of the target Redis server. Database is optional and is supplied as the URL path.

Examples: "redis://:6397", "redis://localhost:6379", "redis://foousername:foopassword@redisplace:6379", "redis://:foopassword@redisplace:6379", "redis://localhost:6379/1", "redis://localhost:6379/1,redis://localhost:6380/1"
redis_streams object
14 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

body_key string

The field key to extract the raw message from. All other keys will be stored in the message as metadata. Default: body

client_id string

An identifier for the client connection. Default:

commit_period string

The period of time between each commit of the current offset. Offsets are always committed during shutdown. Default: 1s

consumer_group string

An identifier for the consumer group of the stream. Default:

create_streams boolean

Create subscribed streams if they do not exist (MKSTREAM option). Default: true

kind string

Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple

limit integer

The maximum number of messages to consume from a single request. Default: 10

master string

Name of the redis master when kind is failover Default:

Examples: "mymaster"
start_from_oldest boolean

If an offset is not found for a stream, determines whether to consume from the oldest available offset, otherwise messages are consumed from the latest offset. Default: true

streams string[]

A list of streams to consume from.

timeout string

The length of time to poll for new messages before reattempting. Default: 1s

tls object

Custom TLS settings can be used to override system defaults.

Troubleshooting

Some cloud hosted instances of Redis (such as Azure Cache) might need some hand holding in order to establish stable connections. Unfortunately, it is often the case that TLS issues will manifest as generic error messages such as "i/o timeout". If you're using TLS and are seeing connectivity problems consider setting enable_renegotiation to true, and ensuring that the server supports at least TLS version 1.2.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

The URL of the target Redis server. Database is optional and is supplied as the URL path.

Examples: "redis://:6397", "redis://localhost:6379", "redis://foousername:foopassword@redisplace:6379", "redis://:foopassword@redisplace:6379", "redis://localhost:6379/1", "redis://localhost:6379/1,redis://localhost:6380/1"
resource string

Default:

s2 object
8 nested properties
access_token string

Access token for S2 account

backoff_duration string

Interval to backoff for before reconnecting to a stream Default: 100ms

basin string

Basin name

cache string

Cache resource label for storing sequence number

max_in_flight integer

Optionally sets a limit on the number of messages that can be flowing through a Bento stream pending acknowledgment from the input at any given time. Once a message has been either acknowledged or rejected (nacked) it is no longer considered pending. If the input produces logical batches then each batch is considered a single count against the maximum. WARNING: Batching policies at the output level will stall if this field limits the number of messages below the batching threshold. Zero (default) or lower implies no limit. Default: 0

start_seq_num string

Start consuming the stream from either the earliest or the latest sequence number Default: earliest

streams

Streams prefix or list of streams to subscribe to

update_streams_interval string

Interval after which the streams list should update dynamically Default: 1m

sequence object
2 nested properties
inputs object[]

An array of inputs to read from sequentially.

sharded_join object

EXPERIMENTAL: Provides a way to perform outer joins of arbitrarily structured and unordered data resulting from the input sequence, even when the overall size of the data surpasses the memory available on the machine.

When configured the sequence of inputs will be consumed one or more times according to the number of iterations, and when more than one iteration is specified each iteration will process an entirely different set of messages by sharding them by the ID field. Increasing the number of iterations reduces the memory consumption at the cost of needing to fully parse the data each time.

Each message must be structured (JSON or otherwise processed into a structured form) and the fields will be aggregated with those of other messages sharing the ID. At the end of each iteration the joined messages are flushed downstream before the next iteration begins, hence keeping memory usage limited.

4 nested properties
id_path string

A dot path that points to a common field within messages of each fragmented data set and can be used to join them. Messages that are not structured or are missing this field will be dropped. This field must be set in order to enable joins. Default:

iterations integer

The total number of iterations (shards), increasing this number will increase the overall time taken to process the data, but reduces the memory used in the process. The real memory usage required is significantly higher than the real size of the data and therefore the number of iterations should be at least an order of magnitude higher than the available memory divided by the overall size of the dataset. Default: 1

merge_strategy string

The chosen strategy to use when a data join would otherwise result in a collision of field values. The strategy array means non-array colliding values are placed into an array and colliding arrays are merged. The strategy replace replaces old values with new values. The strategy keep keeps the old value. Default: array

type string

The type of join to perform. A full-outer ensures that all identifiers seen in any of the input sequences are sent, and is performed by consuming all input sequences before flushing the joined results. An outer join consumes all input sequences but only writes data joined from the last input in the sequence, similar to a left or right outer join. With an outer join if an identifier appears multiple times within the final sequence input it will be flushed each time it appears. full-outter and outter have been deprecated in favour of full-outer and outer. Default: none

sftp object
9 nested properties
address string

The address of the server to connect to.

auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

codec string

The way in which the bytes of a data source should be converted into discrete messages, codecs are useful for specifying how large files or continuous streams of data might be processed in small chunks rather than loading it all in memory. It's possible to consume lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Codecs can be chained with /, for example a gzip compressed CSV file can be consumed with the codec gzip/csv.

Examples: "lines", "delim: ", "delim:foobar", "gzip/csv"
credentials object

The credentials to use to log into the target server.

4 nested properties
password string

The password for the username to connect to the SFTP server. Default:

private_key_file string

The private key for the username to connect to the SFTP server. Default:

private_key_pass string

Optional passphrase for private key. Default:

username string

The username to connect to the SFTP server. Default:

delete_on_finish boolean

Whether to delete files from the server once they are processed. Default: false

max_buffer integer

Default: 1000000

paths string[]

A list of paths to consume sequentially. Glob patterns are supported.

scanner object

The scanner by which the stream of bytes consumed will be broken out into individual messages. Scanners are useful for processing large sources of data without holding the entirety of it within memory. For example, the csv scanner allows you to process individual CSV rows without loading the entire CSV file in memory at once. Default: map[to_the_end:map[]]

watcher object

An experimental mode whereby the input will periodically scan the target paths for new files and consume them, when all files are consumed the input will continue polling for new files.

4 nested properties
cache string

A cache resource for storing the paths of files already consumed. Default:

enabled boolean

Whether file watching is enabled. Default: false

minimum_age string

The minimum period of time since a file was last updated before attempting to consume it. Increasing this period decreases the likelihood that a file will be consumed whilst it is still being written to. Default: 1s

Examples: "10s", "1m", "10m"
poll_interval string

The interval between each attempt to scan the target paths for new files. Default: 1s

Examples: "100ms", "1s"
socket object
6 nested properties
address string

The address to connect to.

Examples: "/tmp/bento.sock", "127.0.0.1:6000"
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

codec string

The way in which the bytes of a data source should be converted into discrete messages, codecs are useful for specifying how large files or continuous streams of data might be processed in small chunks rather than loading it all in memory. It's possible to consume lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Codecs can be chained with /, for example a gzip compressed CSV file can be consumed with the codec gzip/csv.

Examples: "lines", "delim: ", "delim:foobar", "gzip/csv"
max_buffer integer

Default: 1000000

network string

A network type to assume (unix|tcp).

scanner object

The scanner by which the stream of bytes consumed will be broken out into individual messages. Scanners are useful for processing large sources of data without holding the entirety of it within memory. For example, the csv scanner allows you to process individual CSV rows without loading the entire CSV file in memory at once. Default: map[lines:map[]]

socket_server object
8 nested properties
address string

The address to listen from.

Examples: "/tmp/bento.sock", "0.0.0.0:6000"
address_cache string

An optional cache within which this input should write it's bound address once known. The key of the cache item containing the address will be the label of the component suffixed with _address (e.g. foo_address), or socket_server_address when a label has not been provided. This is useful in situations where the address is dynamically allocated by the server (127.0.0.1:0) and you want to store the allocated address somewhere for reference by other systems and components.

auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

codec string

The way in which the bytes of a data source should be converted into discrete messages, codecs are useful for specifying how large files or continuous streams of data might be processed in small chunks rather than loading it all in memory. It's possible to consume lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Codecs can be chained with /, for example a gzip compressed CSV file can be consumed with the codec gzip/csv.

Examples: "lines", "delim: ", "delim:foobar", "gzip/csv"
max_buffer integer

Default: 1000000

network string

A network type to accept.

scanner object

The scanner by which the stream of bytes consumed will be broken out into individual messages. Scanners are useful for processing large sources of data without holding the entirety of it within memory. For example, the csv scanner allows you to process individual CSV rows without loading the entire CSV file in memory at once. Default: map[lines:map[]]

tls object

TLS specific configuration, valid when the network is set to tls.

3 nested properties
cert_file string

PEM encoded certificate for use with TLS.

key_file string

PEM encoded private key for use with TLS.

self_signed boolean

Whether to generate self signed certificates. Default: false

sql_raw object
18 nested properties
args_mapping string

A Bloblang mapping which should evaluate to an array of values matching in size to the number of columns specified.

Examples: "root = [ this.cat.meow, this.doc.woofs[0] ]", "root = [ metadata("user.id").string() ]"
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

azure object

Optional Fields that can be set to use Azure based authentication for Azure Postgres SQL

2 nested properties
entra_enabled boolean

An optional field used to generate an entra token to connect to 'Azure Database for PostgreSQL flexible server', This will create a new connection string with the host, user and database from the DSN field - you may need to URL encode the dsn! The Default Azure Credential Chain is used from the Azure SDK. Default: false

token_request_options object
conn_max_idle integer

An optional maximum number of connections in the idle connection pool. If conn_max_open is greater than 0 but less than the new conn_max_idle, then the new conn_max_idle will be reduced to match the conn_max_open limit. If value <= 0, no idle connections are retained. The default max idle connections is currently 2. This may change in a future release. Default: 2

conn_max_idle_time string

An optional maximum amount of time a connection may be idle. Expired connections may be closed lazily before reuse. If value <= 0, connections are not closed due to a connections idle time.

conn_max_life_time string

An optional maximum amount of time a connection may be reused. Expired connections may be closed lazily before reuse. If value <= 0, connections are not closed due to a connections age.

conn_max_open integer

An optional maximum number of open connections to the database. If conn_max_idle is greater than 0 and the new conn_max_open is less than conn_max_idle, then conn_max_idle will be reduced to match the new conn_max_open limit. If value <= 0, then there is no limit on the number of open connections. The default is 0 (unlimited).

credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

driver string

A database driver to use.

dsn string

A Data Source Name to identify the target database.

Drivers

The following is a list of supported drivers, their placeholder style, and their respective DSN formats:

DriverData Source Name Format
clickhouseclickhouse://[username[:password]@][netloc][:port]/dbname[?param1=value1&...&paramN=valueN]
mysql[username[:password]@][protocol[(address)]]/dbname[?param1=value1&...&paramN=valueN]
postgrespostgres://[user[:password]@][netloc][:port][/dbname][?param1=value1&...]
mssqlsqlserver://[user[:password]@][netloc][:port][?database=dbname&param1=value1&...]
sqlitefile:/path/to/filename.db[?param&=value1&...]
oracleoracle://[username[:password]@][netloc][:port]/service_name?server=server2&server=server3
snowflakeusername[:password]@account_identifier/dbname/schemaname[?param1=value&...&paramN=valueN]
spannerprojects/[project]/instances/[instance]/databases/dbname
trinohttp[s]://user[:pass]@host[:port][?parameters]
gocosmosAccountEndpoint=<cosmosdb-endpoint>;AccountKey=<cosmosdb-account-key>[;TimeoutMs=<timeout-in-ms>][;Version=<cosmosdb-api-version>][;DefaultDb/Db=<db-name>][;AutoId=<true/false>][;InsecureSkipVerify=<true/false>]

Please note that the postgres driver enforces SSL by default, you can override this with the parameter sslmode=disable if required.

The snowflake driver supports multiple DSN formats. Please consult the docs for more details. For key pair authentication, the DSN has the following format: <snowflake_user>@<snowflake_account>/<db_name>/<schema_name>?warehouse=<warehouse>&role=<role>&authenticator=snowflake_jwt&privateKey=<base64_url_encoded_private_key>, where the value for the privateKey parameter can be constructed from an unencrypted RSA private key file rsa_key.p8 using openssl enc -d -base64 -in rsa_key.p8 | basenc --base64url -w0 (you can use gbasenc insted of basenc on OSX if you install coreutils via Homebrew). If you have a password-encrypted private key, you can decrypt it using openssl pkcs8 -in rsa_key_encrypted.p8 -out rsa_key.p8. Also, make sure fields such as the username are URL-encoded.

The gocosmos driver is still experimental, but it has support for hierarchical partition keys as well as cross-partition queries. Please refer to the SQL notes for details.

Examples: "clickhouse://username:password@host1:9000,host2:9000/database?dial_timeout=200ms&max_execution_time=60", "foouser:foopassword@tcp(localhost:3306)/foodb", "postgres://foouser:foopass@localhost:5432/foodb?sslmode=disable", "oracle://foouser:foopass@localhost:1521/service_name"
endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

iam_enabled boolean

An optional field used to generate an IAM authentication token to connect to an Amazon Relational Database (RDS) DB instance. This will overwrite the Password in the DSN with the generated token only if the drivers are mysql or postgres. Default: false

init_files string[]

An optional list of file paths containing SQL statements to execute immediately upon the first connection to the target database. This is a useful way to initialise tables before processing data. Glob patterns are supported, including super globs (double star).

Care should be taken to ensure that the statements are idempotent, and therefore would not cause issues when run multiple times after service restarts. If both init_statement and init_files are specified the init_statement is executed after the init_files.

If a statement fails for any reason a warning log will be emitted but the operation of this component will not be stopped.

Examples: ["./init/*.sql"], ["./foo.sql","./bar.sql"]
init_statement string

An optional SQL statement to execute immediately upon the first connection to the target database. This is a useful way to initialise tables before processing data. Care should be taken to ensure that the statement is idempotent, and therefore would not cause issues when run multiple times after service restarts.

If both init_statement and init_files are specified the init_statement is executed after the init_files.

If the statement fails for any reason a warning log will be emitted but the operation of this component will not be stopped.

Examples: " CREATE TABLE IF NOT EXISTS some_table ( foo varchar(50) not null, bar integer, baz varchar(50), primary key (foo) ) WITHOUT ROWID; "
init_verify_conn boolean

Whether to verify the database connection on startup by performing a simple ping, by default this is disabled. Default: false

query string

The query to execute. The style of placeholder to use depends on the driver, some drivers require question marks (?) whereas others expect incrementing dollar signs ($1, $2, and so on) or colons (:1, :2 and so on). The style to use is outlined in this table:

DriverPlaceholder Style
clickhouseDollar sign
mysqlQuestion mark
postgresDollar sign
mssqlQuestion mark
sqliteQuestion mark
oracleColon
snowflakeQuestion mark
spannerQuestion mark
trinoQuestion mark
gocosmosColon
Examples: "SELECT * FROM footable WHERE user_id = $1;"
region string

The AWS region to target. Default:

secret_name string

An optional field that can be used to get the Username + Password from AWS Secrets Manager. This will overwrite the Username + Password in the DSN with the values from the Secret only if the driver is set to postgres.

sql_select object
22 nested properties
args_mapping string

An optional Bloblang mapping which should evaluate to an array of values matching in size to the number of placeholder arguments in the field where.

Examples: "root = [ "article", now().ts_format("2006-01-02") ]"
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

azure object

Optional Fields that can be set to use Azure based authentication for Azure Postgres SQL

2 nested properties
entra_enabled boolean

An optional field used to generate an entra token to connect to 'Azure Database for PostgreSQL flexible server', This will create a new connection string with the host, user and database from the DSN field - you may need to URL encode the dsn! The Default Azure Credential Chain is used from the Azure SDK. Default: false

token_request_options object
columns string[]

A list of columns to select.

Examples: ["*"], ["foo","bar","baz"]
conn_max_idle integer

An optional maximum number of connections in the idle connection pool. If conn_max_open is greater than 0 but less than the new conn_max_idle, then the new conn_max_idle will be reduced to match the conn_max_open limit. If value <= 0, no idle connections are retained. The default max idle connections is currently 2. This may change in a future release. Default: 2

conn_max_idle_time string

An optional maximum amount of time a connection may be idle. Expired connections may be closed lazily before reuse. If value <= 0, connections are not closed due to a connections idle time.

conn_max_life_time string

An optional maximum amount of time a connection may be reused. Expired connections may be closed lazily before reuse. If value <= 0, connections are not closed due to a connections age.

conn_max_open integer

An optional maximum number of open connections to the database. If conn_max_idle is greater than 0 and the new conn_max_open is less than conn_max_idle, then conn_max_idle will be reduced to match the new conn_max_open limit. If value <= 0, then there is no limit on the number of open connections. The default is 0 (unlimited).

credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

driver string

A database driver to use.

dsn string

A Data Source Name to identify the target database.

Drivers

The following is a list of supported drivers, their placeholder style, and their respective DSN formats:

DriverData Source Name Format
clickhouseclickhouse://[username[:password]@][netloc][:port]/dbname[?param1=value1&...&paramN=valueN]
mysql[username[:password]@][protocol[(address)]]/dbname[?param1=value1&...&paramN=valueN]
postgrespostgres://[user[:password]@][netloc][:port][/dbname][?param1=value1&...]
mssqlsqlserver://[user[:password]@][netloc][:port][?database=dbname&param1=value1&...]
sqlitefile:/path/to/filename.db[?param&=value1&...]
oracleoracle://[username[:password]@][netloc][:port]/service_name?server=server2&server=server3
snowflakeusername[:password]@account_identifier/dbname/schemaname[?param1=value&...&paramN=valueN]
spannerprojects/[project]/instances/[instance]/databases/dbname
trinohttp[s]://user[:pass]@host[:port][?parameters]
gocosmosAccountEndpoint=<cosmosdb-endpoint>;AccountKey=<cosmosdb-account-key>[;TimeoutMs=<timeout-in-ms>][;Version=<cosmosdb-api-version>][;DefaultDb/Db=<db-name>][;AutoId=<true/false>][;InsecureSkipVerify=<true/false>]

Please note that the postgres driver enforces SSL by default, you can override this with the parameter sslmode=disable if required.

The snowflake driver supports multiple DSN formats. Please consult the docs for more details. For key pair authentication, the DSN has the following format: <snowflake_user>@<snowflake_account>/<db_name>/<schema_name>?warehouse=<warehouse>&role=<role>&authenticator=snowflake_jwt&privateKey=<base64_url_encoded_private_key>, where the value for the privateKey parameter can be constructed from an unencrypted RSA private key file rsa_key.p8 using openssl enc -d -base64 -in rsa_key.p8 | basenc --base64url -w0 (you can use gbasenc insted of basenc on OSX if you install coreutils via Homebrew). If you have a password-encrypted private key, you can decrypt it using openssl pkcs8 -in rsa_key_encrypted.p8 -out rsa_key.p8. Also, make sure fields such as the username are URL-encoded.

The gocosmos driver is still experimental, but it has support for hierarchical partition keys as well as cross-partition queries. Please refer to the SQL notes for details.

Examples: "clickhouse://username:password@host1:9000,host2:9000/database?dial_timeout=200ms&max_execution_time=60", "foouser:foopassword@tcp(localhost:3306)/foodb", "postgres://foouser:foopass@localhost:5432/foodb?sslmode=disable", "oracle://foouser:foopass@localhost:1521/service_name"
endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

iam_enabled boolean

An optional field used to generate an IAM authentication token to connect to an Amazon Relational Database (RDS) DB instance. This will overwrite the Password in the DSN with the generated token only if the drivers are mysql or postgres. Default: false

init_files string[]

An optional list of file paths containing SQL statements to execute immediately upon the first connection to the target database. This is a useful way to initialise tables before processing data. Glob patterns are supported, including super globs (double star).

Care should be taken to ensure that the statements are idempotent, and therefore would not cause issues when run multiple times after service restarts. If both init_statement and init_files are specified the init_statement is executed after the init_files.

If a statement fails for any reason a warning log will be emitted but the operation of this component will not be stopped.

Examples: ["./init/*.sql"], ["./foo.sql","./bar.sql"]
init_statement string

An optional SQL statement to execute immediately upon the first connection to the target database. This is a useful way to initialise tables before processing data. Care should be taken to ensure that the statement is idempotent, and therefore would not cause issues when run multiple times after service restarts.

If both init_statement and init_files are specified the init_statement is executed after the init_files.

If the statement fails for any reason a warning log will be emitted but the operation of this component will not be stopped.

Examples: " CREATE TABLE IF NOT EXISTS some_table ( foo varchar(50) not null, bar integer, baz varchar(50), primary key (foo) ) WITHOUT ROWID; "
init_verify_conn boolean

Whether to verify the database connection on startup by performing a simple ping, by default this is disabled. Default: false

prefix string

An optional prefix to prepend to the select query (before SELECT).

region string

The AWS region to target. Default:

secret_name string

An optional field that can be used to get the Username + Password from AWS Secrets Manager. This will overwrite the Username + Password in the DSN with the values from the Secret only if the driver is set to postgres.

suffix string

An optional suffix to append to the select query.

table string

The table to select from.

Examples: "foo"
where string

An optional where clause to add. Placeholder arguments are populated with the args_mapping field. Placeholders should always be question marks, and will automatically be converted to dollar syntax when the postgres or clickhouse drivers are used.

Examples: "type = ? and created_at > ?", "user_id = ?"
stdin object
4 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

codec string

The way in which the bytes of a data source should be converted into discrete messages, codecs are useful for specifying how large files or continuous streams of data might be processed in small chunks rather than loading it all in memory. It's possible to consume lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Codecs can be chained with /, for example a gzip compressed CSV file can be consumed with the codec gzip/csv.

Examples: "lines", "delim: ", "delim:foobar", "gzip/csv"
max_buffer integer

Default: 1000000

scanner object

The scanner by which the stream of bytes consumed will be broken out into individual messages. Scanners are useful for processing large sources of data without holding the entirety of it within memory. For example, the csv scanner allows you to process individual CSV rows without loading the entire CSV file in memory at once. Default: map[lines:map[]]

subprocess object
5 nested properties
args string[]

A list of arguments to provide the command. Default: []

codec string

The way in which messages should be consumed from the subprocess. Default: lines

max_buffer integer

The maximum expected size of an individual message. Default: 65536

name string

The command to execute as a subprocess.

Examples: "cat", "sed", "awk"
restart_on_exit boolean

Whether the command should be re-executed each time the subprocess ends. Default: false

twitter_search object
9 nested properties
api_key string

An API key for OAuth 2.0 authentication. It is recommended that you populate this field using environment variables.

api_secret string

An API secret for OAuth 2.0 authentication. It is recommended that you populate this field using environment variables.

backfill_period string

A duration string indicating the maximum age of tweets to acquire when starting a search. Default: 5m

cache string

A cache resource to use for request pagination.

cache_key string

The key identifier used when storing the ID of the last tweet received. Default: last_tweet_id

poll_period string

The length of time (as a duration string) to wait between each search request. This field can be set empty, in which case requests are made at the limit set by the rate limit. This field also supports cron expressions. Default: 1m

query string

A search expression to use.

rate_limit string

An optional rate limit resource to restrict API requests with. Default:

tweet_fields string[]

An optional list of additional fields to obtain for each tweet, by default only the fields id and text are returned. For more info refer to the twitter API docs. Default: []

websocket object
12 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

basic_auth object

Allows you to specify basic authentication.

3 nested properties
enabled boolean

Whether to use basic authentication in requests. Default: false

password string

A password to authenticate with. Default:

username string

A username to authenticate as. Default:

connection object

Customise how websocket connection attempts are made.

1 nested properties
max_retries integer

An optional limit to the number of consecutive retry attempts that will be made before abandoning the connection altogether and gracefully terminating the input. When all inputs terminate in this way the service (or stream) will shut down. If set to zero connections will never be reattempted upon a failure. If set below zero this field is ignored (effectively unset).

Examples: -1, 10
headers object

A map of custom headers to add to the websocket handshake. Default: map[]

Examples: {"Sec-WebSocket-Protocol":"graphql-ws","User-Agent":"${! uuid_v4() }","X-Client-ID":"${CLIENT_ID}"}
jwt object

BETA: Allows you to specify JWT authentication.

5 nested properties
claims object

A value used to identify the claims that issued the JWT. Default: map[]

enabled boolean

Whether to use JWT authentication in requests. Default: false

headers object

Add optional key/value headers to the JWT. Default: map[]

private_key_file string

A file with the PEM encoded via PKCS1 or PKCS8 as private key. Default:

signing_method string

A method used to sign the token such as RS256, RS384, RS512 or EdDSA. Default:

oauth object

Allows you to specify open authentication via OAuth version 1.

5 nested properties
access_token string

A value used to gain access to the protected resources on behalf of the user. Default:

access_token_secret string

A secret provided in order to establish ownership of a given access token. Default:

consumer_key string

A value used to identify the client to the service provider. Default:

consumer_secret string

A secret used to establish ownership of the consumer key. Default:

enabled boolean

Whether to use OAuth version 1 in requests. Default: false

open_message string

An optional message to send to the server upon connection.

open_message_type string

An optional flag to indicate the data type of open_message. Default: binary

open_messages string[]

An optional list of messages to send to the server upon connection. This field replaces open_message, which will be removed in a future version.

proxy_url string

An optional HTTP proxy URL.

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

The URL to connect to.

Examples: "ws://localhost:4195/get/ws"
zmq4n object
6 nested properties
bind boolean

Whether to bind to the specified URLs (otherwise they are connected to). Default: false

high_water_mark integer

The message high water mark to use. (experimental i go-zeromq) Default: 0

poll_timeout string

The poll timeout to use. Default: 5s

socket_type string

The socket type to connect as.

sub_filters string[]

A list of subscription topic filters to use when consuming from a SUB socket. Specifying a single sub_filter of '' will subscribe to everything. Default: []

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["tcp://localhost:5555"]
input_resources object[]

A list of input resources, each must have a unique label. Default: []

62 nested properties
amqp_0_9 object
10 nested properties
auto_ack boolean

Acknowledge messages automatically as they are consumed rather than waiting for acknowledgments from downstream. This can improve throughput and prevent the pipeline from blocking but at the cost of eliminating delivery guarantees. Default: false

bindings_declare object[]

Allows you to passively declare bindings for the target queue.

Examples: [{"exchange":"foo","key":"bar"}]
consumer_tag string

A consumer tag. Default:

nack_reject_patterns string[]

A list of regular expression patterns whereby if a message that has failed to be delivered by Bento has an error that matches it will be dropped (or delivered to a dead-letter queue if one exists). By default failed messages are nacked with requeue enabled. Default: []

Examples: ["^reject me please:.+$"]
prefetch_count integer

The maximum number of pending messages to have consumed at a time. Default: 10

prefetch_size integer

The maximum amount of pending messages measured in bytes to have consumed at a time. Default: 0

queue string

An AMQP queue to consume from.

queue_declare object

Allows you to passively declare the target queue. If the queue already exists then the declaration passively verifies that they match the target fields.

3 nested properties
auto_delete boolean

Whether the declared queue will auto-delete. Default: false

durable boolean

Whether the declared queue is durable. Default: true

enabled boolean

Whether to enable queue declaration. Default: false

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

urls string[]

A list of URLs to connect to. The first URL to successfully establish a connection will be used until the connection is closed. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["amqp://guest:[email protected]:5672/"], ["amqp://127.0.0.1:5672/,amqp://127.0.0.2:5672/"], ["amqp://127.0.0.1:5672/","amqp://127.0.0.2:5672/"]
amqp_1 object
8 nested properties
azure_renew_lock boolean

Experimental: Azure service bus specific option to renew lock if processing takes more then configured lock time Default: false

credit integer

Specifies the maximum number of unacknowledged messages the sender can transmit. Once this limit is reached, no more messages will arrive until messages are acknowledged and settled. Default: 64

read_header boolean

Read additional message header fields into amqp_* metadata properties. Default: false

sasl object

Enables SASL authentication.

3 nested properties
mechanism string

The SASL authentication mechanism to use. Default: none

password string

A SASL plain text password. It is recommended that you use environment variables to populate this field. Default:

Examples: "${PASSWORD}"
user string

A SASL plain text username. It is recommended that you use environment variables to populate this field. Default:

Examples: "${USER}"
source_address string

The source address to consume from.

Examples: "/foo", "queue:/bar", "topic:/baz"
tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

A URL to connect to.

Examples: "amqp://localhost:5672/", "amqps://guest:guest@localhost:5672/"
urls string[]

A list of URLs to connect to. The first URL to successfully establish a connection will be used until the connection is closed. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["amqp://guest:[email protected]:5672/"], ["amqp://127.0.0.1:5672/,amqp://127.0.0.2:5672/"], ["amqp://127.0.0.1:5672/","amqp://127.0.0.2:5672/"]
aws_kinesis object
12 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
checkpoint_limit integer

The maximum gap between the in flight sequence versus the latest acknowledged sequence at a given time. Increasing this limit enables parallel processing and batching at the output level to work on individual shards. Any given sequence will not be committed unless all messages under that offset are delivered in order to preserve at least once delivery guarantees. Default: 1024

commit_period string

The period of time between each update to the checkpoint table. Default: 5s

credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

dynamodb object

Determines the table used for storing and accessing the latest consumed sequence for shards, and for coordinating balanced consumers of streams.

5 nested properties
billing_mode string

When creating the table determines the billing mode. Default: PAY_PER_REQUEST

create boolean

Whether, if the table does not exist, it should be created. Default: false

read_capacity_units integer

Set the provisioned read capacity when creating the table with a billing_mode of PROVISIONED. Default: 0

table string

The name of the table to access. Default:

write_capacity_units integer

Set the provisioned write capacity when creating the table with a billing_mode of PROVISIONED. Default: 0

endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

lease_period string

The period of time after which a client that has failed to update a shard checkpoint is assumed to be inactive. Default: 30s

rebalance_period string

The period of time between each attempt to rebalance shards across clients. Default: 30s

region string

The AWS region to target. Default:

start_from_oldest boolean

Whether to consume from the oldest message when a sequence does not yet exist for the stream. Default: true

streams string[]

One or more Kinesis data streams to consume from. Streams can either be specified by their name or full ARN. Shards of a stream are automatically balanced across consumers by coordinating through the provided DynamoDB table. Multiple comma separated streams can be listed in a single element. Shards are automatically distributed across consumers of a stream by coordinating through the provided DynamoDB table. Alternatively, it's possible to specify an explicit shard to consume from with a colon after the stream name, e.g. foo:0 would consume the shard 0 of the stream foo.

Examples: ["foo","arn:aws:kinesis:*:111122223333:stream/my-stream"]
aws_s3 object
11 nested properties
bucket string

The bucket to consume from. If the field sqs.url is specified this field is optional. Default:

codec string

The way in which the bytes of a data source should be converted into discrete messages, codecs are useful for specifying how large files or continuous streams of data might be processed in small chunks rather than loading it all in memory. It's possible to consume lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Codecs can be chained with /, for example a gzip compressed CSV file can be consumed with the codec gzip/csv.

Examples: "lines", "delim: ", "delim:foobar", "gzip/csv"
credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

delete_objects boolean

Whether to delete downloaded objects from the bucket once they are processed. Default: false

endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

force_path_style_urls boolean

Forces the client API to use path style URLs for downloading keys, which is often required when connecting to custom endpoints. Default: false

max_buffer integer

Default: 1000000

prefix string

An optional path prefix, if set only objects with the prefix are consumed when walking a bucket. Default:

region string

The AWS region to target. Default:

scanner object

The scanner by which the stream of bytes consumed will be broken out into individual messages. Scanners are useful for processing large sources of data without holding the entirety of it within memory. For example, the csv scanner allows you to process individual CSV rows without loading the entire CSV file in memory at once. Default: map[to_the_end:map[]]

sqs object

Consume SQS messages in order to trigger key downloads.

8 nested properties
bucket_path string

A dot path whereby the bucket name can be found in SQS messages. Default: Records.*.s3.bucket.name

delay_period string

An optional period of time to wait from when a notification was originally sent to when the target key download is attempted. Default:

Examples: "10s", "5m"
endpoint string

A custom endpoint to use when connecting to SQS. Default:

envelope_path string

A dot path of a field to extract an enveloped JSON payload for further extracting the key and bucket from SQS messages. This is specifically useful when subscribing an SQS queue to an SNS topic that receives bucket events. Default:

Examples: "Message"
key_path string

A dot path whereby object keys are found in SQS messages. Default: Records.*.s3.object.key

max_messages integer

The maximum number of SQS messages to consume from each request. Default: 10

url string

An optional SQS URL to connect to. When specified this queue will control which objects are downloaded. Default:

wait_time_seconds integer

Whether to set the wait time. Enabling this activates long-polling. Valid values: 0 to 20. Default: 0

aws_sqs object
10 nested properties
credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

custom_request_headers object

A map used to send custom HTTP headers alongside each SQS operation to AWS. Default: map[]

delete_message boolean

Whether to delete the consumed message once it is acked. Disabling allows you to handle the deletion using a different mechanism. Default: true

endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

max_number_of_messages integer

The maximum number of messages to return on one poll. Valid values: 1 to 10. Default: 10

region string

The AWS region to target. Default:

reset_visibility boolean

Whether to set the visibility timeout of the consumed message to zero once it is nacked. Disabling honors the preset visibility timeout specified for the queue. Default: true

update_visibility boolean

Whether to periodically refresh the visibility timeout of in-flight messages to prevent more-than-once delivery while still processing. Default: true

url string

The SQS URL to consume from.

wait_time_seconds integer

Whether to set the wait time. Enabling this activates long-polling. Valid values: 0 to 20. Default: 0

azure_blob_storage object
11 nested properties
codec string

The way in which the bytes of a data source should be converted into discrete messages, codecs are useful for specifying how large files or continuous streams of data might be processed in small chunks rather than loading it all in memory. It's possible to consume lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Codecs can be chained with /, for example a gzip compressed CSV file can be consumed with the codec gzip/csv.

Examples: "lines", "delim: ", "delim:foobar", "gzip/csv"
container string

The name of the container from which to download blobs.

delete_objects boolean

Whether to delete downloaded objects from the blob once they are processed. Default: false

max_buffer integer

Default: 1000000

prefix string

An optional path prefix, if set only objects with the prefix are consumed. Default:

scanner object

The scanner by which the stream of bytes consumed will be broken out into individual messages. Scanners are useful for processing large sources of data without holding the entirety of it within memory. For example, the csv scanner allows you to process individual CSV rows without loading the entire CSV file in memory at once. Default: map[to_the_end:map[]]

storage_access_key string

The storage account access key. This field is ignored if storage_connection_string is set. Default:

storage_account string

The storage account to access. This field is ignored if storage_connection_string is set. Default:

storage_connection_string string

A storage account connection string. This field is required if storage_account and storage_access_key / storage_sas_token are not set. Default:

storage_sas_token string

The storage account SAS token. This field is ignored if storage_connection_string or storage_access_key are set. Default:

targets_input object

EXPERIMENTAL: An optional source of download targets, configured as a regular Bento input. Each message yielded by this input should be a single structured object containing a field name, which represents the blob to be downloaded.

Examples: {"mqtt":{"topics":["some-topic"],"urls":["example.westeurope-1.ts.eventgrid.azure.net:8883"]},"processors":[{"unarchive":{"format":"json_array"}},{"mapping":"if this.eventType == \"Microsoft.Storage.BlobCreated\" {\n root.name = this.data.url.parse_url().path.trim_prefix(\"/foocontainer/\")\n} else {\n root = deleted()\n}"}]}
azure_cosmosdb object
10 nested properties
account_key string

Account key.

Examples: "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=="
args_mapping string

A Bloblang mapping that, for each message, creates a list of arguments to use with the query.

Examples: "root = [ { "Name": "@name", "Value": "bento" }, ]"
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

batch_count integer

The maximum number of messages that should be accumulated into each batch. Use '-1' specify dynamic page size. Default: -1

connection_string string

Connection string.

Examples: "AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;"
container string

Container.

Examples: "testcontainer"
database string

Database.

Examples: "testdb"
endpoint string

CosmosDB endpoint.

Examples: "https://localhost:8081"
partition_keys_map string

A Bloblang mapping which should evaluate to a single partition key value or an array of partition key values of type string, integer or boolean. Currently, hierarchical partition keys are not supported so only one value may be provided.

Examples: "root = "blobfish"", "root = 41", "root = true", "root = null", "root = now().ts_format("2006-01-02")"
query string

The query to execute

Examples: "SELECT c.foo FROM testcontainer AS c WHERE c.bar = "baz" AND c.timestamp < @timestamp"
azure_queue_storage object
8 nested properties
dequeue_visibility_timeout string

The timeout duration until a dequeued message gets visible again, 30s by default Default: 30s

max_in_flight integer

The maximum number of unprocessed messages to fetch at a given time. Default: 10

queue_name string

The name of the source storage queue.

Examples: "foo_queue", "${! env("MESSAGE_TYPE").lowercase() }"
storage_access_key string

The storage account access key. This field is ignored if storage_connection_string is set. Default:

storage_account string

The storage account to access. This field is ignored if storage_connection_string is set. Default:

storage_connection_string string

A storage account connection string. This field is required if storage_account and storage_access_key / storage_sas_token are not set. Default:

storage_sas_token string

Default:

track_properties boolean

If set to true the queue is polled on each read request for information such as the queue message lag. These properties are added to consumed messages as metadata, but will also have a negative performance impact. Default: false

azure_service_bus_queue object
7 nested properties
auto_ack boolean

Whether to automatically acknowledge messages as they are consumed rather than waiting for acknowledgments from downstream. This can improve throughput but at the cost of eliminating delivery guarantees. Default: false

connection_string string

The Service Bus connection string. This can be obtained from the Azure portal. If not provided, namespace and default credentials will be used. Default:

Examples: "Endpoint=sb://example.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=..."
max_in_flight integer

The maximum number of unprocessed messages to fetch at a given time. Default: 10

nack_reject_patterns string[]

A list of regular expression patterns whereby if a message that has failed to be delivered by Bento has an error that matches it will be nacked (or sent to dead letter queue if configured). By default failed messages are nacked with requeue enabled. Default: []

Examples: ["^reject me please:.+$"]
namespace string

The Service Bus namespace. Required when connection_string is not provided. Default:

Examples: "myservicebus.servicebus.windows.net"
queue string

The name of the Service Bus queue to consume from.

renew_lock boolean

Automatically renew message locks to prevent lock expiration during processing. Useful for long-running message processing. Default: true

azure_table_storage object
8 nested properties
filter string

OData filter expression. Is not set all rows are returned. Valid operators are eq, ne, gt, lt, ge and le Default:

Examples: "PartitionKey eq 'foo' and RowKey gt '1000'"
page_size integer

Maximum number of records to return on each page. Default: 1000

select string

Select expression using OData notation. Limits the columns on each record to just those requested. Default:

Examples: "PartitionKey,RowKey,Foo,Bar,Timestamp"
storage_access_key string

The storage account access key. This field is ignored if storage_connection_string is set. Default:

storage_account string

The storage account to access. This field is ignored if storage_connection_string is set. Default:

storage_connection_string string

A storage account connection string. This field is required if storage_account and storage_access_key / storage_sas_token are not set. Default:

storage_sas_token string

The storage account SAS token. This field is ignored if storage_connection_string or storage_access_key are set. Default:

table_name string

The table to read messages from.

Examples: "Foo"
batched object
2 nested properties
child object

The child input.

policy object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
beanstalkd object
1 nested properties
address string

An address to connect to.

Examples: "127.0.0.1:11300"
broker object
3 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
copies integer

Whatever is specified within inputs will be created this many times. Default: 1

inputs object[]

A list of inputs to create.

cassandra object
9 nested properties
addresses string[]

A list of Cassandra nodes to connect to. Multiple comma separated addresses can be specified on a single line.

Examples: ["localhost:9042"], ["foo:9042","bar:9042"], ["foo:9042,bar:9042"]
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

backoff object

Control time intervals between retry attempts.

2 nested properties
initial_interval string

The initial period to wait between retry attempts. Default: 1s

max_interval string

The maximum period to wait between retry attempts. Default: 5s

disable_initial_host_lookup boolean

If enabled the driver will not attempt to get host info from the system.peers table. This can speed up queries but will mean that data_centre, rack and token information will not be available. Default: false

max_retries integer

The maximum number of retries before giving up on a request. Default: 3

password_authenticator object

Optional configuration of Cassandra authentication parameters.

3 nested properties
enabled boolean

Whether to use password authentication Default: false

password string

The password to authenticate with. Default:

username string

The username to authenticate as. Default:

query string

A query to execute.

timeout string

The client connection timeout. Default: 600ms

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

cockroachdb_changefeed object
6 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

cursor_cache string

A cache resource to use for storing the current latest cursor that has been successfully delivered, this allows Bento to continue from that cursor upon restart, rather than consume the entire state of the table.

dsn string

A Data Source Name to identify the target database.

Examples: "postgres://user:[email protected]:26257/defaultdb?sslmode=require"
options string[]

A list of options to be included in the changefeed (WITH X, Y...). NOTE: Both the CURSOR option and UPDATED will be ignored from these options when a cursor_cache is specified, as they are set explicitly by Bento in this case.

Examples: ["virtual_columns=\"omitted\""]
tables string[]

CSV of tables to be included in the changefeed

Examples: ["table1","table2"]
tls object

Custom TLS settings can be used to override system defaults.

5 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

csv object
9 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

batch_count integer

Optionally process records in batches. This can help to speed up the consumption of exceptionally large CSV files. When the end of the file is reached the remaining records are processed as a (potentially smaller) batch. Default: 1

delete_on_finish boolean

Whether to delete input files from the disk once they are fully consumed. Default: false

delimiter string

The delimiter to use for splitting values in each record. It must be a single character. Default: ,

expected_headers string[]

An optional list of expected headers in the header row. If provided, the scanner will check the file contents and emit an error if any expected headers don't match.

Examples: ["first_name","last_name","age"]
expected_number_of_fields integer

The number of expected fields in the csv file.

lazy_quotes boolean

If set to true, a quote may appear in an unquoted field and a non-doubled quote may appear in a quoted field. Default: false

parse_header_row boolean

Whether to reference the first row as a header row. If set to true the output structure for messages will be an object where field keys are determined by the header row. Otherwise, each message will consist of an array of values from the corresponding CSV row. Default: true

paths string[]

A list of file paths to read from. Each file will be read sequentially until the list is exhausted, at which point the input will close. Glob patterns are supported, including super globs (double star).

Examples: ["/tmp/foo.csv","/tmp/bar/*.csv","/tmp/data/**/*.csv"]
cypher object
7 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

basic_auth object

Basic Authentication fields

3 nested properties
password string

The password for basic auth. Default:

realm string

The realm for basic auth. Default:

user string

The username for basic auth. Default:

database string

The name of the database to connect to.

Examples: "neo4j"
no_auth boolean

Set to true to connect without authentication. Default: false

query string

The cypher query to execute.

Examples: "MATCH (n) RETURN n"
tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

uri string

The URL of the database engine.

Examples: "bolt://localhost:7687"
discord object
8 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

bot_token string

A bot token used for authentication.

cache string

A cache resource to use for performing unread message backfills, the ID of the last message received will be stored in this cache and used for subsequent requests.

cache_key string

The key identifier used when storing the ID of the last message received. Default: last_message_id

channel_id string

A discord channel ID to consume messages from.

limit integer

The maximum number of messages to receive in a single request. Default: 100

poll_period string

The length of time (as a duration string) to wait between each poll for backlogged messages. This field can be set empty, in which case requests are made at the limit set by the rate limit. This field also supports cron expressions. Default: 1m

rate_limit string

Default: An optional rate limit resource to restrict API requests with.

dynamic object
2 nested properties
inputs object

A map of inputs to statically create. Default: map[]

prefix string

A path prefix for HTTP endpoints that are registered. Default:

etcd object
18 nested properties
auth object

Optional configuration of etcd authentication headers.

3 nested properties
enabled boolean

Whether to use password authentication Default: false

password string

The password to authenticate with. Default:

username string

The username to authenticate as. Default:

auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

auto_sync_interval string

The interval to update endpoints with its latest members. 0 disables auto-sync. By default auto-sync is disabled.

backoff_jitter_fraction number

The jitter fraction to randomize backoff wait time.

backoff_wait_between string

The wait time before retrying an RPC.

dial_timeout string

Timeout for failing to establish a connection. Default: 5s

endpoints string[]

A set of URLs (schemes, hosts and ports only) that can be used to communicate with a logical etcd cluster. If multiple endpoints are provided, the Client will attempt to use them all in the event that one or more of them are unusable.

Examples: ["etcd://:2379"], ["etcd://localhost:2379"], ["etcd://localhost:2379","etcd://localhost:22379","etcd://localhost:32379"]
keep_alive_time string

Time after which client pings the server to see if transport is alive. Default: 5s

keep_alive_timeout string

Time that the client waits for a response for the keep-alive probe. If the response is not received in this time, the connection is closed. Default: 1s

key string

The key or prefix being watched. For prefix watching, options.with_prefix should be true

max_call_recv_msg_size integer

The client-side response receive limit. If 0, it defaults to math.MaxInt32.

max_call_send_msg_size integer

The client-side request send limit in bytes. If 0, it defaults to 2.0 MiB (2 * 1024 * 1024).

max_unary_retries integer

The maximum number of retries for unary RPCs.

options object

Collection of options to configure an etcd watcher.

6 nested properties
with_created_notify boolean

Whether to send CREATED notify events to the watcher. Default: false

with_delete_filter boolean

Whether to discard DELETE events from the watcher. Default: false

with_prefix boolean

Whether to watch for events on a prefix. Default: false

with_progress_notify boolean

Whether to send periodic progress updates every 10 minutes when there is no incoming events. Default: false

with_put_filter boolean

Whether to discard PUT events from the watcher. Default: false

with_range string

Will cause the watcher to return a range of lexicographically sorted keys to return in the form [key, end) where end is the passed parameter. Default:

permit_without_stream boolean

When set, will allow client to send keepalive pings to server without any active streams (RPCs). Default: false

reject_old_cluster boolean

When set, will refuse to create a client against an outdated cluster. Default: false

request_timeout string

Timeout for a single request. This includes connection time, any redirects, and header wait time. Default: 1s

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

file object
6 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

codec string

The way in which the bytes of a data source should be converted into discrete messages, codecs are useful for specifying how large files or continuous streams of data might be processed in small chunks rather than loading it all in memory. It's possible to consume lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Codecs can be chained with /, for example a gzip compressed CSV file can be consumed with the codec gzip/csv.

Examples: "lines", "delim: ", "delim:foobar", "gzip/csv"
delete_on_finish boolean

Whether to delete input files from the disk once they are fully consumed. Default: false

max_buffer integer

Default: 1000000

paths string[]

A list of paths to consume sequentially. Glob patterns are supported, including super globs (double star).

scanner object

The scanner by which the stream of bytes consumed will be broken out into individual messages. Scanners are useful for processing large sources of data without holding the entirety of it within memory. For example, the csv scanner allows you to process individual CSV rows without loading the entire CSV file in memory at once. Default: map[lines:map[]]

gcp_bigquery_select object
10 nested properties
args_mapping string

An optional Bloblang mapping which should evaluate to an array of values matching in size to the number of placeholder arguments in the field where.

Examples: "root = [ "article", now().ts_format("2006-01-02") ]"
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

columns string[]

A list of columns to query.

job_labels object

A list of labels to add to the query job. Default: map[]

prefix string

An optional prefix to prepend to the select query (before SELECT).

priority string

The priority with which to schedule the query. Default:

project string

GCP project where the query job will execute.

suffix string

An optional suffix to append to the select query.

table string

Fully-qualified BigQuery table name to query.

Examples: "bigquery-public-data.samples.shakespeare"
where string

An optional where clause to add. Placeholder arguments are populated with the args_mapping field. Placeholders should always be question marks (?).

Examples: "type = ? and created_at > ?", "user_id = ?"
gcp_cloud_storage object
6 nested properties
bucket string

The name of the bucket from which to download objects.

codec string

The way in which the bytes of a data source should be converted into discrete messages, codecs are useful for specifying how large files or continuous streams of data might be processed in small chunks rather than loading it all in memory. It's possible to consume lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Codecs can be chained with /, for example a gzip compressed CSV file can be consumed with the codec gzip/csv.

Examples: "lines", "delim: ", "delim:foobar", "gzip/csv"
delete_objects boolean

Whether to delete downloaded objects from the bucket once they are processed. Default: false

max_buffer integer

Default: 1000000

prefix string

An optional path prefix, if set only objects with the prefix are consumed. Default:

scanner object

The scanner by which the stream of bytes consumed will be broken out into individual messages. Scanners are useful for processing large sources of data without holding the entirety of it within memory. For example, the csv scanner allows you to process individual CSV rows without loading the entire CSV file in memory at once. Default: map[to_the_end:map[]]

gcp_pubsub object
7 nested properties
create_subscription object

Allows you to configure the input subscription and creates if it doesn't exist.

2 nested properties
enabled boolean

Whether to configure subscription or not. Default: false

topic string

Defines the topic that the subscription should be vinculated to. Default:

endpoint string

An optional endpoint to override the default of pubsub.googleapis.com:443. This can be used to connect to a region specific pubsub endpoint. For a list of valid values check out this document. Default:

Examples: "us-central1-pubsub.googleapis.com:443", "us-west3-pubsub.googleapis.com:443"
max_outstanding_bytes integer

The maximum number of outstanding pending messages to be consumed measured in bytes. Default: 1e+09

max_outstanding_messages integer

The maximum number of outstanding pending messages to be consumed at a given time. Default: 1000

project string

The project ID of the target subscription.

subscription string

The target subscription ID.

sync boolean

Enable synchronous pull mode. Default: false

gcp_spanner_cdc object
6 nested properties
end_time string

An optional field to define the end time to read from the changestreams, timestamp format should conform to RFC3339

Examples: "2006-01-02T15:04:05Z07:00"
heartbeat_interval string

An optional field to configure the heartbeat interval for partitions. Default: 3s

prefetch_count integer

The maximum number of messages to have pulled in. Default: 1024

Examples: 1024
spanner_dsn string

The dsn for spanner from where to read the changestream.

Examples: "projects/{projectId}/instances/{instanceId}/databases/{databaseName}"
start_time string

An optional field to define the start point to read from the changestreams. If not set then the current time is used. The timestamp format should conform to RFC3339, for details on valid start times please see this document

Examples: "2006-01-02T15:04:05Z07:00"
stream_name string

The name of the stream to track changes on.

generate object
5 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

batch_size integer

The number of generated messages that should be accumulated into each batch flushed at the specified interval. Default: 1

count integer

An optional number of messages to generate, if set above 0 the specified number of messages is generated and then the input will shut down. Default: 0

interval string

The time interval at which messages should be generated, expressed either as a duration string or as a cron expression. If set to an empty string messages will be generated as fast as downstream services can process them. Cron expressions can specify a timezone by prefixing the expression with TZ=<location name>, where the location name corresponds to a file within the IANA Time Zone database. Default: 1s

Examples: "5s", "1m", "1h", "@every 1s", "0,30 */2 * * * *", "TZ=Europe/London 30 3-6,20-23 * * *"
mapping string

A bloblang mapping to use for generating messages.

Examples: "root = "hello world"", "root = {"test":"message","id":uuid_v4()}"
hdfs object
3 nested properties
directory string

The directory to consume from.

hosts string[]

A list of target host addresses to connect to.

Examples: "localhost:9000"
user string

A user ID to connect as. Default:

http_client object
25 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

backoff_on integer

A list of status codes whereby the request should be considered to have failed and retries should be attempted, but the period between them should be increased gradually. Default: [429]

basic_auth object

Allows you to specify basic authentication.

3 nested properties
enabled boolean

Whether to use basic authentication in requests. Default: false

password string

A password to authenticate with. Default:

username string

A username to authenticate as. Default:

drop_empty_bodies boolean

Whether empty payloads received from the target server should be dropped. Default: true

drop_on integer

A list of status codes whereby the request should be considered to have failed but retries should not be attempted. This is useful for preventing wasted retries for requests that will never succeed. Note that with these status codes the request is dropped, but message that caused the request will not be dropped. Default: []

dump_request_log_level string

EXPERIMENTAL: Optionally set a level at which the request and response payload of each request made will be logged. Default:

extract_headers object

Specify which response headers should be added to resulting messages as metadata. Header keys are lowercased before matching, so ensure that your patterns target lowercased versions of the header keys that you expect.

2 nested properties
include_patterns string[]

Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []

Examples: [".*"], ["_timestamp_unix$"]
include_prefixes string[]

Provide a list of explicit metadata key prefixes to match against. Default: []

Examples: ["foo_","bar_"], ["kafka_"], ["content-"]
headers object

A map of headers to add to the request. Default: map[]

Examples: {"Content-Type":"application/octet-stream","traceparent":"${! tracing_span().traceparent }"}
jwt object

BETA: Allows you to specify JWT authentication.

5 nested properties
claims object

A value used to identify the claims that issued the JWT. Default: map[]

enabled boolean

Whether to use JWT authentication in requests. Default: false

headers object

Add optional key/value headers to the JWT. Default: map[]

private_key_file string

A file with the PEM encoded via PKCS1 or PKCS8 as private key. Default:

signing_method string

A method used to sign the token such as RS256, RS384, RS512 or EdDSA. Default:

max_retry_backoff string

The maximum period to wait between failed requests. Default: 300s

metadata object

Specify optional matching rules to determine which metadata keys should be added to the HTTP request as headers.

2 nested properties
include_patterns string[]

Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []

Examples: [".*"], ["_timestamp_unix$"]
include_prefixes string[]

Provide a list of explicit metadata key prefixes to match against. Default: []

Examples: ["foo_","bar_"], ["kafka_"], ["content-"]
oauth object

Allows you to specify open authentication via OAuth version 1.

5 nested properties
access_token string

A value used to gain access to the protected resources on behalf of the user. Default:

access_token_secret string

A secret provided in order to establish ownership of a given access token. Default:

consumer_key string

A value used to identify the client to the service provider. Default:

consumer_secret string

A secret used to establish ownership of the consumer key. Default:

enabled boolean

Whether to use OAuth version 1 in requests. Default: false

oauth2 object

Allows you to specify open authentication via OAuth version 2 using the client credentials token flow.

6 nested properties
client_key string

A value used to identify the client to the token provider. Default:

client_secret string

A secret used to establish ownership of the client key. Default:

enabled boolean

Whether to use OAuth version 2 in requests. Default: false

endpoint_params object

A list of optional endpoint parameters, values should be arrays of strings. Default: map[]

Examples: {"bar":["woof"],"foo":["meow","quack"]}
scopes string[]

A list of optional requested permissions. Default: []

token_url string

The URL of the token provider. Default:

payload string

An optional payload to deliver for each request.

proxy_url string

An optional HTTP proxy URL.

rate_limit string

An optional rate limit to throttle requests by.

retries integer

The maximum number of retry attempts to make. Default: 3

retry_period string

The base period to wait between failed requests. Default: 1s

stream object

Allows you to set streaming mode, where requests are kept open and messages are processed line-by-line.

5 nested properties
codec string

The way in which the bytes of a data source should be converted into discrete messages, codecs are useful for specifying how large files or continuous streams of data might be processed in small chunks rather than loading it all in memory. It's possible to consume lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Codecs can be chained with /, for example a gzip compressed CSV file can be consumed with the codec gzip/csv.

Examples: "lines", "delim: ", "delim:foobar", "gzip/csv"
enabled boolean

Enables streaming mode. Default: false

max_buffer integer

Default: 1000000

reconnect boolean

Sets whether to re-establish the connection once it is lost. Default: true

scanner object

The scanner by which the stream of bytes consumed will be broken out into individual messages. Scanners are useful for processing large sources of data without holding the entirety of it within memory. For example, the csv scanner allows you to process individual CSV rows without loading the entire CSV file in memory at once. Default: map[lines:map[]]

successful_on integer

A list of status codes whereby the attempt should be considered successful, this is useful for dropping requests that return non-2XX codes indicating that the message has been dealt with, such as a 303 See Other or a 409 Conflict. All 2XX codes are considered successful unless they are present within backoff_on or drop_on, regardless of this field. Default: []

timeout string

A static timeout to apply to requests. Default: 5s

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

transport object

Custom transport options.

6 nested properties
dial_context object

Settings for the dialer used to create new connections.

expect_continue_timeout string

Time to wait for a server's first response headers after sending request headers when 'Expect: 100-continue' is used. Zero means send body immediately. Default: 1s

force_http2 boolean

If true, the transport will attempt to use HTTP/2. Default: true

idle_connection_timeout string

Maximum time an idle keep-alive connection remains open before closing itself. Default: 90s

max_idle_connections integer

Maximum number of idle keep-alive connections. Zero = unlimited. Default: 100

tls_handshake_timeout string

Maximum time allowed for TLS handshake to complete. Default: 10s

url string

The URL to connect to.

verb string

A verb to connect with Default: GET

Examples: "POST", "GET", "DELETE"
http_server object
12 nested properties
address string

An alternative address to host from. If left empty the service wide address is used. Default:

allowed_verbs string[]

An array of verbs that are allowed for the path endpoint. Default: [POST]

cert_file string

Enable TLS by specifying a certificate and key file. Only valid with a custom address. Default:

cors object

Adds Cross-Origin Resource Sharing headers. Only valid with a custom address.

4 nested properties
allowed_headers string[]

Appends additional headers to the list of default allowed headers: Accept, Accept-Language, Content-Language & Origin. These default headers are therefore always allowed. Default: []

allowed_methods string[]

Used to explicitly set allowed methods in the Access-Control-Allow-Methods header. Default: [GET HEAD POST PUT PATCH DELETE]

allowed_origins string[]

An explicit list of origins that are allowed for CORS requests. Default: []

enabled boolean

Whether to allow CORS requests. Default: false

key_file string

Enable TLS by specifying a certificate and key file. Only valid with a custom address. Default:

path string

The endpoint path to listen for POST requests. Default: /post

rate_limit string

An optional rate limit to throttle requests by. Default:

sync_response object

Customise messages returned via synchronous responses.

3 nested properties
headers object

Specify headers to return with synchronous responses. Default: map[Content-Type:application/octet-stream]

metadata_headers object

Specify criteria for which metadata values are added to the response as headers.

status string

Specify the status code to return with synchronous responses. This is a string value, which allows you to customize it based on resulting payloads and their metadata. Default: 200

Examples: "${! json("status") }", "${! metadata("status").string() }"
timeout string

Timeout for requests. If a consumed messages takes longer than this to be delivered the connection is closed, but the message may still be delivered. Default: 5s

ws_path string

The endpoint path to create websocket connections from. Default: /post/ws

ws_rate_limit_message string

An optional message to delivery to websocket connections that are rate limited. Default:

ws_welcome_message string

An optional message to deliver to fresh websocket connections. Default:

inproc string

Default:

kafka object
19 nested properties
addresses string[]

A list of broker addresses to connect to. If an item of the list contains commas it will be expanded into multiple addresses.

Examples: ["localhost:9092"], ["localhost:9041,localhost:9042"], ["localhost:9041","localhost:9042"]
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
checkpoint_limit integer

The maximum number of messages of the same topic and partition that can be processed at a given time. Increasing this limit enables parallel processing and batching at the output level to work on individual partitions. Any given offset will not be committed unless all messages under that offset are delivered in order to preserve at least once delivery guarantees. Default: 1024

client_id string

An identifier for the client connection. Default: bento

commit_period string

The period of time between each commit of the current partition offsets. Offsets are always committed during shutdown. Default: 1s

consumer_group string

An identifier for the consumer group of the connection. This field can be explicitly made empty in order to disable stored offsets for the consumed topic partitions. Default:

extract_tracing_map string

EXPERIMENTAL: A Bloblang mapping that attempts to extract an object containing tracing propagation information, which will then be used as the root tracing span for the message. The specification of the extracted fields must match the format used by the service wide tracer.

Examples: "root = @", "root = this.meta.span"
fetch_buffer_cap integer

The maximum number of unprocessed messages to fetch at a given time. Default: 256

group object

Tuning parameters for consumer group synchronization.

3 nested properties
heartbeat_interval string

A period in which heartbeats should be sent out. Default: 3s

rebalance_timeout string

A period after which rebalancing is abandoned if unresolved. Default: 60s

session_timeout string

A period after which a consumer of the group is kicked after no heartbeats. Default: 10s

max_processing_period string

A maximum estimate for the time taken to process a message, this is used for tuning consumer group synchronization. Default: 100ms

multi_header boolean

Decode headers into lists to allow handling of multiple values with the same key Default: false

new_root_span_with_link boolean

EXPERIMENTAL: Starts a new root span with link to parent.

rack_id string

A rack identifier for this client. Default:

sasl object

Enables SASL authentication.

7 nested properties
access_token string

A static OAUTHBEARER access token Default:

aws object

Contains AWS specific fields for when the mechanism is set to AWS_MSK_IAM.

mechanism string

The SASL authentication mechanism, if left empty SASL authentication is not used. Default: none

password string

A PLAIN password. It is recommended that you use environment variables to populate this field. Default:

Examples: "${PASSWORD}"
token_cache string

Instead of using a static access_token allows you to query a cache resource to fetch OAUTHBEARER tokens from Default:

token_key string

Required when using a token_cache, the key to query the cache with for tokens. Default:

user string

A PLAIN username. It is recommended that you use environment variables to populate this field. Default:

Examples: "${USER}"
start_from_oldest boolean

Determines whether to consume from the oldest available offset, otherwise messages are consumed from the latest offset. The setting is applied when creating a new consumer group or the saved offset no longer exists. Default: true

target_version string

The version of the Kafka protocol to use. This limits the capabilities used by the client and should ideally match the version of your brokers. Defaults to the oldest supported stable version.

Examples: "2.1.0", "3.1.0"
tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

topics string[]

A list of topics to consume from. Multiple comma separated topics can be listed in a single element. Partitions are automatically distributed across consumers of a topic. Alternatively, it's possible to specify explicit partitions to consume from with a colon after the topic name, e.g. foo:0 would consume the partition 0 of the topic foo. This syntax supports ranges, e.g. foo:0-10 would consume partitions 0 through to 10 inclusive.

Examples: ["foo","bar"], ["foo,bar"], ["foo:0","bar:1","bar:3"], ["foo:0,bar:1,bar:3"], ["foo:0-5"]
kafka_franz object
23 nested properties
auto_offset_reset string

Determines which offset to automatically consume from, matching Kafka's auto.offset.reset property. When specified, this takes precedence over start_from_oldest.

auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

batching object

Allows you to configure a batching policy that applies to individual topic partitions in order to batch messages together before flushing them for processing. Batching can be beneficial for performance as well as useful for windowed processing, and doing so this way preserves the ordering of topic partitions.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
checkpoint_limit integer

:::caution Setting this checkpoint_limit: 1will not enforce 'strict ordered' processing of records. Use the kafka input processor for 'strict ordered' processing. :::

		Determines how many messages of the same partition can be processed in parallel before applying back pressure. When a message of a given offset is delivered to the output the offset is only allowed to be committed when all messages of prior offsets have also been delivered, this ensures at-least-once delivery guarantees. However, this mechanism also increases the likelihood of duplicates in the event of crashes or server faults, reducing the checkpoint limit will mitigate this. Default: 1024
client_id string

An identifier for the client connection. Default: bento

commit_period string

The period of time between each commit of the current partition offsets. Offsets are always committed during shutdown. Default: 5s

consumer_group string

An optional consumer group to consume as. When specified the partitions of specified topics are automatically distributed across consumers sharing a consumer group, and partition offsets are automatically committed and resumed under this name. Consumer groups are not supported when specifying explicit partitions to consume from in the topics field.

fetch_max_bytes string

This sets the maximum amount of bytes a broker will try to send during a fetch. Note that brokers may not obey this limit if it has records larger than this limit. Also note that this client sends a fetch to each broker concurrently, meaning the client will buffer up to <brokers * max bytes> worth of memory. Equivalent to Kafka's fetch.max.bytes option. Default: 50MiB

fetch_max_partition_bytes string

Sets the maximum amount of bytes that will be consumed for a single partition in a fetch request. Note that if a single batch is larger than this number, that batch will still be returned so the client can make progress. Equivalent to Kafka's max.partition.fetch.bytes option. Default: 1MiB

fetch_max_wait string

This sets the maximum amount of time a broker will wait for a fetch response to hit the minimum number of required bytes before returning, overriding the default 5s. Default: 5s

group_balancers string[]

Balancers sets the group balancers to use for dividing topic partitions among group members. This option is equivalent to Kafka's partition.assignment.strategies option. Default: [cooperative_sticky]

metadata_max_age string

This sets the maximum age for the client's cached metadata, to allow detection of new topics, partitions, etc. Default: 5m

multi_header boolean

Decode headers into lists to allow handling of multiple values with the same key Default: false

preferring_lag integer

This allows you to re-order partitions before they are fetched, given each partition's current lag.

By default, the client rotates partitions fetched by one after every fetch request. Kafka answers fetch requests in the order that partitions are requested, filling the fetch response untilfetch_max_bytes and fetch_max_partition_bytes are hit. All partitions eventually rotate to the front, ensuring no partition is starved.

With this option, you can return topic order and per-topic partition ordering. These orders will sort to the front (first by topic, then by partition). Any topic or partitions that you do not return are added to the end, preserving their original ordering.

rack_id string

A rack identifier for this client. Default:

rate_limit string

An optional rate_limit to throttle invocations by. Default:

reconnect_on_unknown_topic_or_partition boolean

Determines whether to close the client and force a reconnect after seeing an UNKNOWN_TOPIC_OR_PARTITION or UNKNOWN_TOPIC_ID error. Default: false

regexp_topics boolean

Whether listed topics should be interpreted as regular expression patterns for matching multiple topics. When topics are specified with explicit partitions this field must remain set to false. Default: false

sasl object[]

Specify one or more methods of SASL authentication. SASL is tried in order; if the broker supports the first mechanism, all connections will use that mechanism. If the first mechanism fails, the client will pick the first supported mechanism. If the broker does not support any client mechanisms, connections will fail.

Examples: [{"mechanism":"SCRAM-SHA-512","password":"bar","username":"foo"}]
seed_brokers string[]

A list of broker addresses to connect to in order to establish connections. If an item of the list contains commas it will be expanded into multiple addresses.

Examples: ["localhost:9092"], ["foo:9092","bar:9092"], ["foo:9092,bar:9092"]
start_from_oldest boolean

Determines whether to consume from the oldest available offset, otherwise messages are consumed from the latest offset. The setting is applied when creating a new consumer group or the saved offset no longer exists. Default: true

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

topics string[]

A list of topics to consume from. Multiple comma separated topics can be listed in a single element. When a consumer_group is specified partitions are automatically distributed across consumers of a topic, otherwise all partitions are consumed.

Alternatively, it's possible to specify explicit partitions to consume from with a colon after the topic name, e.g. foo:0 would consume the partition 0 of the topic foo. This syntax supports ranges, e.g. foo:0-10 would consume partitions 0 through to 10 inclusive.

Finally, it's also possible to specify an explicit offset to consume from by adding another colon after the partition, e.g. foo:0:10 would consume the partition 0 of the topic foo starting from the offset 10. If the offset is not present (or remains unspecified) then the field start_from_oldest determines which offset to start from.

Examples: ["foo","bar"], ["things.*"], ["foo,bar"], ["foo:0","bar:1","bar:3"], ["foo:0,bar:1,bar:3"], ["foo:0-5"]
kubernetes_watch object
21 nested properties
api_server string

Kubernetes API server URL. Only used when providing explicit credentials. Default:

auto_auth boolean

Automatically detect authentication method. Tries in-cluster config first, then falls back to kubeconfig. Default: true

backoff object

Control time intervals between retry attempts.

3 nested properties
initial_interval string

The initial period to wait between retry attempts. Default: 1s

max_elapsed_time string

The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 0s

max_interval string

The maximum period to wait between retry attempts. Default: 60s

ca_file string

Path to CA certificate file for verifying API server. Default:

client_burst integer

Burst limit for Kubernetes API client. 0 uses the client-go default. Default: 0

client_qps number

QPS limit for Kubernetes API client. 0 uses the client-go default. Default: 0

context string

Kubernetes context to use from kubeconfig. If empty, uses the current context. Default:

custom_resource object

Custom Resource Definition to watch. Use this for CRDs instead of 'resource'.

3 nested properties
group string

API group for the custom resource (e.g., 'stable.example.com'). Default:

resource string

Plural name of the custom resource (e.g., 'crontabs'). Default:

version string

API version for the custom resource (e.g., 'v1', 'v1beta1'). Default: v1

event_types string[]

Watch event types to include. Valid values are ADDED, MODIFIED, and DELETED. Default: [ADDED MODIFIED DELETED]

Examples: ["ADDED","DELETED"], ["MODIFIED"]
field_selector object

Kubernetes field selector to filter resources. Default: map[]

Examples: {"status.phase":"Running"}, {"metadata.name":"my-pod"}
include_initial_list boolean

Emit ADDED events for all existing resources when starting. Default: true

insecure_skip_verify boolean

Skip TLS certificate verification. Not recommended for production. Default: false

kubeconfig string

Path to kubeconfig file. If empty, uses $KUBECONFIG (if set) or the default kubeconfig location (~/.kube/config). Default:

kubeconfig_yaml string

Kubeconfig content as a YAML string. Use this to embed kubeconfig directly in your config (e.g., from a secret or environment variable) instead of referencing a file path. Default:

label_selector object

Kubernetes label selector to filter resources. Default: map[]

Examples: {"app":"myapp"}, {"app":"myapp","env":"prod"}
max_retries integer

The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0

namespaces string[]

Namespaces to watch. Empty list means all namespaces. Default: []

Examples: ["default"], ["production","staging"]
request_timeout string

Timeout for Kubernetes API requests such as list calls. Use "0s" to disable. Default: 30s

resource string

Standard Kubernetes resource type to watch. Default:

Examples: "pods", "deployments", "configmaps"
token string

Bearer token for authentication. Can be a service account token. Default:

token_file string

Path to file containing bearer token. Default:

mongodb object
12 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

batch_size integer

A explicit number of documents to batch up before flushing them for processing. Must be greater than 0. Operations: find, aggregate

Examples: 1000
collection string

The collection to select from.

database string

The name of the target MongoDB database.

json_marshal_mode string

The json_marshal_mode setting is optional and controls the format of the output message. Default: canonical

limit integer

An explicit maximum number of documents to return. Operations: find

operation string

The mongodb operation to perform. Default: find

password string

The password to connect to the database. Default:

query string

Bloblang expression describing MongoDB query.

Examples: " root.from = {"$lte": timestamp_unix()} root.to = {"$gte": timestamp_unix()} "
sort object

An object specifying fields to sort by, and the respective sort order (1 ascending, -1 descending). Note: The driver currently appears to support only one sorting key. Operations: find

Examples: {"name":1}, {"age":-1}
url string

The URL of the target MongoDB server.

Examples: "mongodb://localhost:27017"
username string

The username to connect to the database. Default:

mqtt object
13 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

clean_session boolean

Set whether the connection is non-persistent. Default: true

client_id string

An identifier for the client connection. Default:

connect_timeout string

The maximum amount of time to wait in order to establish a connection before the attempt is abandoned. Default: 30s

Examples: "1s", "500ms"
dynamic_client_id_suffix string

Append a dynamically generated suffix to the specified client_id on each run of the pipeline. This can be useful when clustering Bento producers.

keepalive integer

Max seconds of inactivity before a keepalive message is sent. Default: 30

password string

A password to connect with. Default:

qos integer

The level of delivery guarantee to enforce. Has options 0, 1, 2. Default: 1

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

topics string[]

A list of topics to consume from.

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["tcp://localhost:1883"]
user string

A username to connect with. Default:

will object

Set last will message in case of Bento failure

5 nested properties
enabled boolean

Whether to enable last will messages. Default: false

payload string

Set payload for last will message. Default:

qos integer

Set QoS for last will message. Valid values are: 0, 1, 2. Default: 0

retained boolean

Set retained for last will message. Default: false

topic string

Set topic for last will message. Default:

nanomsg object
6 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

bind boolean

Whether the URLs provided should be connected to, or bound as. Default: true

poll_timeout string

The period to wait until a poll is abandoned and reattempted. Default: 5s

socket_type string

The socket type to use. Default: PULL

sub_filters string[]

A list of subscription topic filters to use when consuming from a SUB socket. Specifying a single sub_filter of '' will subscribe to everything. Default: []

urls string[]

A list of URLs to connect to (or as). If an item of the list contains commas it will be expanded into multiple URLs.

nats object
10 nested properties
auth object

Optional configuration of NATS authentication parameters.

4 nested properties
nkey_file string

An optional file containing a NKey seed.

Examples: "./seed.nk"
user_credentials_file string

An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.

Examples: "./user.creds"
user_jwt string

An optional plain text user JWT (given along with the corresponding user NKey Seed).

user_nkey_seed string

An optional plain text user NKey Seed (given along with the corresponding user JWT).

auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

extract_tracing_map string

EXPERIMENTAL: A Bloblang mapping that attempts to extract an object containing tracing propagation information, which will then be used as the root tracing span for the message. The specification of the extracted fields must match the format used by the service wide tracer.

Examples: "root = @", "root = this.meta.span"
nak_delay string

An optional delay duration on redelivering a message when negatively acknowledged.

Examples: "1m"
new_root_span_with_link boolean

EXPERIMENTAL: Starts a new root span with link to parent.

prefetch_count integer

The maximum number of messages to pull at a time. Default: 524288

queue string

An optional queue group to consume as.

subject string

A subject to consume from. Supports wildcards for consuming multiple subjects. Either a subject or stream must be specified.

Examples: "foo.bar.baz", "foo.*.baz", "foo.bar.*", "foo.>"
tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["nats://127.0.0.1:4222"], ["nats://username:[email protected]:4222"]
nats_jetstream object
13 nested properties
ack_wait string

The maximum amount of time NATS server should wait for an ack from consumer. Default: 30s

Examples: "100ms", "5m"
auth object

Optional configuration of NATS authentication parameters.

4 nested properties
nkey_file string

An optional file containing a NKey seed.

Examples: "./seed.nk"
user_credentials_file string

An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.

Examples: "./user.creds"
user_jwt string

An optional plain text user JWT (given along with the corresponding user NKey Seed).

user_nkey_seed string

An optional plain text user NKey Seed (given along with the corresponding user JWT).

bind boolean

Indicates that the subscription should use an existing consumer.

deliver string

Determines which messages to deliver when consuming without a durable subscriber. Default: all

durable string

Preserve the state of your consumer under a durable name.

extract_tracing_map string

EXPERIMENTAL: A Bloblang mapping that attempts to extract an object containing tracing propagation information, which will then be used as the root tracing span for the message. The specification of the extracted fields must match the format used by the service wide tracer.

Examples: "root = @", "root = this.meta.span"
max_ack_pending integer

The maximum number of outstanding acks to be allowed before consuming is halted. Default: 1024

new_root_span_with_link boolean

EXPERIMENTAL: Starts a new root span with link to parent.

queue string

An optional queue group to consume as.

stream string

A stream to consume from. Either a subject or stream must be specified.

subject string

A subject to consume from. Supports wildcards for consuming multiple subjects. Either a subject or stream must be specified.

Examples: "foo.bar.baz", "foo.*.baz", "foo.bar.*", "foo.>"
tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["nats://127.0.0.1:4222"], ["nats://username:[email protected]:4222"]
nats_kv object
9 nested properties
auth object

Optional configuration of NATS authentication parameters.

4 nested properties
nkey_file string

An optional file containing a NKey seed.

Examples: "./seed.nk"
user_credentials_file string

An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.

Examples: "./user.creds"
user_jwt string

An optional plain text user JWT (given along with the corresponding user NKey Seed).

user_nkey_seed string

An optional plain text user NKey Seed (given along with the corresponding user JWT).

auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

bucket string

The name of the KV bucket.

Examples: "my_kv_bucket"
ignore_deletes boolean

Do not send delete markers as messages. Default: false

include_history boolean

Include all the history per key, not just the last one. Default: false

key string

Key to watch for updates, can include wildcards. Default: >

Examples: "foo.bar.baz", "foo.*.baz", "foo.bar.*", "foo.>"
meta_only boolean

Retrieve only the metadata of the entry Default: false

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["nats://127.0.0.1:4222"], ["nats://username:[email protected]:4222"]
nats_object_store object
5 nested properties
auth object

Optional configuration of NATS authentication parameters.

4 nested properties
nkey_file string

An optional file containing a NKey seed.

Examples: "./seed.nk"
user_credentials_file string

An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.

Examples: "./user.creds"
user_jwt string

An optional plain text user JWT (given along with the corresponding user NKey Seed).

user_nkey_seed string

An optional plain text user NKey Seed (given along with the corresponding user JWT).

auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

bucket string

The name of the object store bucket.

Examples: "my_bucket"
tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["nats://127.0.0.1:4222"], ["nats://username:[email protected]:4222"]
nats_stream object
14 nested properties
ack_wait string

An optional duration to specify at which a message that is yet to be acked will be automatically retried. Default: 30s

auth object

Optional configuration of NATS authentication parameters.

4 nested properties
nkey_file string

An optional file containing a NKey seed.

Examples: "./seed.nk"
user_credentials_file string

An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.

Examples: "./user.creds"
user_jwt string

An optional plain text user JWT (given along with the corresponding user NKey Seed).

user_nkey_seed string

An optional plain text user NKey Seed (given along with the corresponding user JWT).

client_id string

A client ID to connect as. Default:

cluster_id string

The ID of the cluster to consume from.

durable_name string

Preserve the state of your consumer under a durable name. Default:

extract_tracing_map string

EXPERIMENTAL: A Bloblang mapping that attempts to extract an object containing tracing propagation information, which will then be used as the root tracing span for the message. The specification of the extracted fields must match the format used by the service wide tracer.

Examples: "root = @", "root = this.meta.span"
max_inflight integer

The maximum number of unprocessed messages to fetch at a given time. Default: 1024

new_root_span_with_link boolean

EXPERIMENTAL: Starts a new root span with link to parent.

queue string

The queue to consume from. Default:

start_from_oldest boolean

If a position is not found for a queue, determines whether to consume from the oldest available message, otherwise messages are consumed from the latest. Default: true

subject string

A subject to consume from. Default:

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

unsubscribe_on_close boolean

Whether the subscription should be destroyed when this client disconnects. Default: false

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["nats://127.0.0.1:4222"], ["nats://username:[email protected]:4222"]
nsq object
9 nested properties
auth_secret string

An optional secret for NSQ authentication (requires nsqd 0.2.29+).

channel string

The channel to consume from.

lookupd_http_addresses string[]

A list of nsqlookupd addresses to connect to.

max_attempts integer

The maximum number of attempts to successfully consume a messages. Default: 5

max_in_flight integer

The maximum number of pending messages to consume at any given time. Default: 100

nsqd_tcp_addresses string[]

A list of nsqd addresses to connect to.

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

topic string

The topic to consume from.

user_agent string

A user agent to assume when connecting.

parquet object
4 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

batch_count integer

Optionally process records in batches. This can help to speed up the consumption of exceptionally large files. When the end of the file is reached the remaining records are processed as a (potentially smaller) batch. Default: 1

paths string[]

A list of file paths to read from. Each file will be read sequentially until the list is exhausted, at which point the input will close. Glob patterns are supported, including super globs (double star).

Examples: "/tmp/foo.parquet", "/tmp/bar/*.parquet", "/tmp/data/**/*.parquet"
strict_schema boolean

Whether to enforce strict Parquet schema validation. When set to false, allows reading files with non-standard schema structures (such as non-standard LIST formats). Disabling strict mode may reduce validation but increases compatibility. Default: true

pulsar object
7 nested properties
auth object

Optional configuration of Pulsar authentication methods.

2 nested properties
oauth2 object

Parameters for Pulsar OAuth2 authentication.

token object

Parameters for Pulsar Token authentication.

subscription_name string

Specify the subscription name for this consumer.

subscription_type string

Specify the subscription type for this consumer.

NOTE: Using a key_shared subscription type will allow out-of-order delivery since nack-ing messages sets non-zero nack delivery delay - this can potentially cause consumers to stall. See Pulsar documentation and this Github issue for more details. Default: shared

tls object

Specify the path to a custom CA certificate to trust broker TLS service.

1 nested properties
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
topics string[]

A list of topics to subscribe to. This or topics_pattern must be set.

topics_pattern string

A regular expression matching the topics to subscribe to. This or topics must be set.

url string

A URL to connect to.

Examples: "pulsar://localhost:6650", "pulsar://pulsar.us-west.example.com:6650", "pulsar+ssl://pulsar.us-west.example.com:6651"
read_until object
4 nested properties
check string

A Bloblang query that should return a boolean value indicating whether the input should now be closed.

Examples: "this.type == "foo"", "count("messages") >= 100"
idle_timeout string

The maximum amount of time without receiving new messages after which the input is closed.

Examples: "5s"
input object

The child input to consume from.

restart_input boolean

Whether the input should be reopened if it closes itself before the condition has resolved to true. Default: false

redis_list object
9 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

command string

The command used to pop elements from the Redis list Default: blpop

key string

The key of a list to read from.

kind string

Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple

master string

Name of the redis master when kind is failover Default:

Examples: "mymaster"
max_in_flight integer

Optionally sets a limit on the number of messages that can be flowing through a Bento stream pending acknowledgment from the input at any given time. Once a message has been either acknowledged or rejected (nacked) it is no longer considered pending. If the input produces logical batches then each batch is considered a single count against the maximum. WARNING: Batching policies at the output level will stall if this field limits the number of messages below the batching threshold. Zero (default) or lower implies no limit. Default: 0

timeout string

The length of time to poll for new messages before reattempting. Default: 5s

tls object

Custom TLS settings can be used to override system defaults.

Troubleshooting

Some cloud hosted instances of Redis (such as Azure Cache) might need some hand holding in order to establish stable connections. Unfortunately, it is often the case that TLS issues will manifest as generic error messages such as "i/o timeout". If you're using TLS and are seeing connectivity problems consider setting enable_renegotiation to true, and ensuring that the server supports at least TLS version 1.2.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

The URL of the target Redis server. Database is optional and is supplied as the URL path.

Examples: "redis://:6397", "redis://localhost:6379", "redis://foousername:foopassword@redisplace:6379", "redis://:foopassword@redisplace:6379", "redis://localhost:6379/1", "redis://localhost:6379/1,redis://localhost:6380/1"
redis_pubsub object
7 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

channels string[]

A list of channels to consume from.

kind string

Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple

master string

Name of the redis master when kind is failover Default:

Examples: "mymaster"
tls object

Custom TLS settings can be used to override system defaults.

Troubleshooting

Some cloud hosted instances of Redis (such as Azure Cache) might need some hand holding in order to establish stable connections. Unfortunately, it is often the case that TLS issues will manifest as generic error messages such as "i/o timeout". If you're using TLS and are seeing connectivity problems consider setting enable_renegotiation to true, and ensuring that the server supports at least TLS version 1.2.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

The URL of the target Redis server. Database is optional and is supplied as the URL path.

Examples: "redis://:6397", "redis://localhost:6379", "redis://foousername:foopassword@redisplace:6379", "redis://:foopassword@redisplace:6379", "redis://localhost:6379/1", "redis://localhost:6379/1,redis://localhost:6380/1"
use_patterns boolean

Whether to use the PSUBSCRIBE command, allowing for glob-style patterns within target channel names. Default: false

redis_scan object
6 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

kind string

Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple

master string

Name of the redis master when kind is failover Default:

Examples: "mymaster"
match string

Iterates only elements matching the optional glob-style pattern. By default, it matches all elements. Default:

Examples: "*", "1*", "foo*", "foo", "*4*"
tls object

Custom TLS settings can be used to override system defaults.

Troubleshooting

Some cloud hosted instances of Redis (such as Azure Cache) might need some hand holding in order to establish stable connections. Unfortunately, it is often the case that TLS issues will manifest as generic error messages such as "i/o timeout". If you're using TLS and are seeing connectivity problems consider setting enable_renegotiation to true, and ensuring that the server supports at least TLS version 1.2.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

The URL of the target Redis server. Database is optional and is supplied as the URL path.

Examples: "redis://:6397", "redis://localhost:6379", "redis://foousername:foopassword@redisplace:6379", "redis://:foopassword@redisplace:6379", "redis://localhost:6379/1", "redis://localhost:6379/1,redis://localhost:6380/1"
redis_streams object
14 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

body_key string

The field key to extract the raw message from. All other keys will be stored in the message as metadata. Default: body

client_id string

An identifier for the client connection. Default:

commit_period string

The period of time between each commit of the current offset. Offsets are always committed during shutdown. Default: 1s

consumer_group string

An identifier for the consumer group of the stream. Default:

create_streams boolean

Create subscribed streams if they do not exist (MKSTREAM option). Default: true

kind string

Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple

limit integer

The maximum number of messages to consume from a single request. Default: 10

master string

Name of the redis master when kind is failover Default:

Examples: "mymaster"
start_from_oldest boolean

If an offset is not found for a stream, determines whether to consume from the oldest available offset, otherwise messages are consumed from the latest offset. Default: true

streams string[]

A list of streams to consume from.

timeout string

The length of time to poll for new messages before reattempting. Default: 1s

tls object

Custom TLS settings can be used to override system defaults.

Troubleshooting

Some cloud hosted instances of Redis (such as Azure Cache) might need some hand holding in order to establish stable connections. Unfortunately, it is often the case that TLS issues will manifest as generic error messages such as "i/o timeout". If you're using TLS and are seeing connectivity problems consider setting enable_renegotiation to true, and ensuring that the server supports at least TLS version 1.2.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

The URL of the target Redis server. Database is optional and is supplied as the URL path.

Examples: "redis://:6397", "redis://localhost:6379", "redis://foousername:foopassword@redisplace:6379", "redis://:foopassword@redisplace:6379", "redis://localhost:6379/1", "redis://localhost:6379/1,redis://localhost:6380/1"
resource string

Default:

s2 object
8 nested properties
access_token string

Access token for S2 account

backoff_duration string

Interval to backoff for before reconnecting to a stream Default: 100ms

basin string

Basin name

cache string

Cache resource label for storing sequence number

max_in_flight integer

Optionally sets a limit on the number of messages that can be flowing through a Bento stream pending acknowledgment from the input at any given time. Once a message has been either acknowledged or rejected (nacked) it is no longer considered pending. If the input produces logical batches then each batch is considered a single count against the maximum. WARNING: Batching policies at the output level will stall if this field limits the number of messages below the batching threshold. Zero (default) or lower implies no limit. Default: 0

start_seq_num string

Start consuming the stream from either the earliest or the latest sequence number Default: earliest

streams

Streams prefix or list of streams to subscribe to

update_streams_interval string

Interval after which the streams list should update dynamically Default: 1m

sequence object
2 nested properties
inputs object[]

An array of inputs to read from sequentially.

sharded_join object

EXPERIMENTAL: Provides a way to perform outer joins of arbitrarily structured and unordered data resulting from the input sequence, even when the overall size of the data surpasses the memory available on the machine.

When configured the sequence of inputs will be consumed one or more times according to the number of iterations, and when more than one iteration is specified each iteration will process an entirely different set of messages by sharding them by the ID field. Increasing the number of iterations reduces the memory consumption at the cost of needing to fully parse the data each time.

Each message must be structured (JSON or otherwise processed into a structured form) and the fields will be aggregated with those of other messages sharing the ID. At the end of each iteration the joined messages are flushed downstream before the next iteration begins, hence keeping memory usage limited.

4 nested properties
id_path string

A dot path that points to a common field within messages of each fragmented data set and can be used to join them. Messages that are not structured or are missing this field will be dropped. This field must be set in order to enable joins. Default:

iterations integer

The total number of iterations (shards), increasing this number will increase the overall time taken to process the data, but reduces the memory used in the process. The real memory usage required is significantly higher than the real size of the data and therefore the number of iterations should be at least an order of magnitude higher than the available memory divided by the overall size of the dataset. Default: 1

merge_strategy string

The chosen strategy to use when a data join would otherwise result in a collision of field values. The strategy array means non-array colliding values are placed into an array and colliding arrays are merged. The strategy replace replaces old values with new values. The strategy keep keeps the old value. Default: array

type string

The type of join to perform. A full-outer ensures that all identifiers seen in any of the input sequences are sent, and is performed by consuming all input sequences before flushing the joined results. An outer join consumes all input sequences but only writes data joined from the last input in the sequence, similar to a left or right outer join. With an outer join if an identifier appears multiple times within the final sequence input it will be flushed each time it appears. full-outter and outter have been deprecated in favour of full-outer and outer. Default: none

sftp object
9 nested properties
address string

The address of the server to connect to.

auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

codec string

The way in which the bytes of a data source should be converted into discrete messages, codecs are useful for specifying how large files or continuous streams of data might be processed in small chunks rather than loading it all in memory. It's possible to consume lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Codecs can be chained with /, for example a gzip compressed CSV file can be consumed with the codec gzip/csv.

Examples: "lines", "delim: ", "delim:foobar", "gzip/csv"
credentials object

The credentials to use to log into the target server.

4 nested properties
password string

The password for the username to connect to the SFTP server. Default:

private_key_file string

The private key for the username to connect to the SFTP server. Default:

private_key_pass string

Optional passphrase for private key. Default:

username string

The username to connect to the SFTP server. Default:

delete_on_finish boolean

Whether to delete files from the server once they are processed. Default: false

max_buffer integer

Default: 1000000

paths string[]

A list of paths to consume sequentially. Glob patterns are supported.

scanner object

The scanner by which the stream of bytes consumed will be broken out into individual messages. Scanners are useful for processing large sources of data without holding the entirety of it within memory. For example, the csv scanner allows you to process individual CSV rows without loading the entire CSV file in memory at once. Default: map[to_the_end:map[]]

watcher object

An experimental mode whereby the input will periodically scan the target paths for new files and consume them, when all files are consumed the input will continue polling for new files.

4 nested properties
cache string

A cache resource for storing the paths of files already consumed. Default:

enabled boolean

Whether file watching is enabled. Default: false

minimum_age string

The minimum period of time since a file was last updated before attempting to consume it. Increasing this period decreases the likelihood that a file will be consumed whilst it is still being written to. Default: 1s

Examples: "10s", "1m", "10m"
poll_interval string

The interval between each attempt to scan the target paths for new files. Default: 1s

Examples: "100ms", "1s"
socket object
6 nested properties
address string

The address to connect to.

Examples: "/tmp/bento.sock", "127.0.0.1:6000"
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

codec string

The way in which the bytes of a data source should be converted into discrete messages, codecs are useful for specifying how large files or continuous streams of data might be processed in small chunks rather than loading it all in memory. It's possible to consume lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Codecs can be chained with /, for example a gzip compressed CSV file can be consumed with the codec gzip/csv.

Examples: "lines", "delim: ", "delim:foobar", "gzip/csv"
max_buffer integer

Default: 1000000

network string

A network type to assume (unix|tcp).

scanner object

The scanner by which the stream of bytes consumed will be broken out into individual messages. Scanners are useful for processing large sources of data without holding the entirety of it within memory. For example, the csv scanner allows you to process individual CSV rows without loading the entire CSV file in memory at once. Default: map[lines:map[]]

socket_server object
8 nested properties
address string

The address to listen from.

Examples: "/tmp/bento.sock", "0.0.0.0:6000"
address_cache string

An optional cache within which this input should write it's bound address once known. The key of the cache item containing the address will be the label of the component suffixed with _address (e.g. foo_address), or socket_server_address when a label has not been provided. This is useful in situations where the address is dynamically allocated by the server (127.0.0.1:0) and you want to store the allocated address somewhere for reference by other systems and components.

auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

codec string

The way in which the bytes of a data source should be converted into discrete messages, codecs are useful for specifying how large files or continuous streams of data might be processed in small chunks rather than loading it all in memory. It's possible to consume lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Codecs can be chained with /, for example a gzip compressed CSV file can be consumed with the codec gzip/csv.

Examples: "lines", "delim: ", "delim:foobar", "gzip/csv"
max_buffer integer

Default: 1000000

network string

A network type to accept.

scanner object

The scanner by which the stream of bytes consumed will be broken out into individual messages. Scanners are useful for processing large sources of data without holding the entirety of it within memory. For example, the csv scanner allows you to process individual CSV rows without loading the entire CSV file in memory at once. Default: map[lines:map[]]

tls object

TLS specific configuration, valid when the network is set to tls.

3 nested properties
cert_file string

PEM encoded certificate for use with TLS.

key_file string

PEM encoded private key for use with TLS.

self_signed boolean

Whether to generate self signed certificates. Default: false

sql_raw object
18 nested properties
args_mapping string

A Bloblang mapping which should evaluate to an array of values matching in size to the number of columns specified.

Examples: "root = [ this.cat.meow, this.doc.woofs[0] ]", "root = [ metadata("user.id").string() ]"
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

azure object

Optional Fields that can be set to use Azure based authentication for Azure Postgres SQL

2 nested properties
entra_enabled boolean

An optional field used to generate an entra token to connect to 'Azure Database for PostgreSQL flexible server', This will create a new connection string with the host, user and database from the DSN field - you may need to URL encode the dsn! The Default Azure Credential Chain is used from the Azure SDK. Default: false

token_request_options object
conn_max_idle integer

An optional maximum number of connections in the idle connection pool. If conn_max_open is greater than 0 but less than the new conn_max_idle, then the new conn_max_idle will be reduced to match the conn_max_open limit. If value <= 0, no idle connections are retained. The default max idle connections is currently 2. This may change in a future release. Default: 2

conn_max_idle_time string

An optional maximum amount of time a connection may be idle. Expired connections may be closed lazily before reuse. If value <= 0, connections are not closed due to a connections idle time.

conn_max_life_time string

An optional maximum amount of time a connection may be reused. Expired connections may be closed lazily before reuse. If value <= 0, connections are not closed due to a connections age.

conn_max_open integer

An optional maximum number of open connections to the database. If conn_max_idle is greater than 0 and the new conn_max_open is less than conn_max_idle, then conn_max_idle will be reduced to match the new conn_max_open limit. If value <= 0, then there is no limit on the number of open connections. The default is 0 (unlimited).

credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

driver string

A database driver to use.

dsn string

A Data Source Name to identify the target database.

Drivers

The following is a list of supported drivers, their placeholder style, and their respective DSN formats:

DriverData Source Name Format
clickhouseclickhouse://[username[:password]@][netloc][:port]/dbname[?param1=value1&...&paramN=valueN]
mysql[username[:password]@][protocol[(address)]]/dbname[?param1=value1&...&paramN=valueN]
postgrespostgres://[user[:password]@][netloc][:port][/dbname][?param1=value1&...]
mssqlsqlserver://[user[:password]@][netloc][:port][?database=dbname&param1=value1&...]
sqlitefile:/path/to/filename.db[?param&=value1&...]
oracleoracle://[username[:password]@][netloc][:port]/service_name?server=server2&server=server3
snowflakeusername[:password]@account_identifier/dbname/schemaname[?param1=value&...&paramN=valueN]
spannerprojects/[project]/instances/[instance]/databases/dbname
trinohttp[s]://user[:pass]@host[:port][?parameters]
gocosmosAccountEndpoint=<cosmosdb-endpoint>;AccountKey=<cosmosdb-account-key>[;TimeoutMs=<timeout-in-ms>][;Version=<cosmosdb-api-version>][;DefaultDb/Db=<db-name>][;AutoId=<true/false>][;InsecureSkipVerify=<true/false>]

Please note that the postgres driver enforces SSL by default, you can override this with the parameter sslmode=disable if required.

The snowflake driver supports multiple DSN formats. Please consult the docs for more details. For key pair authentication, the DSN has the following format: <snowflake_user>@<snowflake_account>/<db_name>/<schema_name>?warehouse=<warehouse>&role=<role>&authenticator=snowflake_jwt&privateKey=<base64_url_encoded_private_key>, where the value for the privateKey parameter can be constructed from an unencrypted RSA private key file rsa_key.p8 using openssl enc -d -base64 -in rsa_key.p8 | basenc --base64url -w0 (you can use gbasenc insted of basenc on OSX if you install coreutils via Homebrew). If you have a password-encrypted private key, you can decrypt it using openssl pkcs8 -in rsa_key_encrypted.p8 -out rsa_key.p8. Also, make sure fields such as the username are URL-encoded.

The gocosmos driver is still experimental, but it has support for hierarchical partition keys as well as cross-partition queries. Please refer to the SQL notes for details.

Examples: "clickhouse://username:password@host1:9000,host2:9000/database?dial_timeout=200ms&max_execution_time=60", "foouser:foopassword@tcp(localhost:3306)/foodb", "postgres://foouser:foopass@localhost:5432/foodb?sslmode=disable", "oracle://foouser:foopass@localhost:1521/service_name"
endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

iam_enabled boolean

An optional field used to generate an IAM authentication token to connect to an Amazon Relational Database (RDS) DB instance. This will overwrite the Password in the DSN with the generated token only if the drivers are mysql or postgres. Default: false

init_files string[]

An optional list of file paths containing SQL statements to execute immediately upon the first connection to the target database. This is a useful way to initialise tables before processing data. Glob patterns are supported, including super globs (double star).

Care should be taken to ensure that the statements are idempotent, and therefore would not cause issues when run multiple times after service restarts. If both init_statement and init_files are specified the init_statement is executed after the init_files.

If a statement fails for any reason a warning log will be emitted but the operation of this component will not be stopped.

Examples: ["./init/*.sql"], ["./foo.sql","./bar.sql"]
init_statement string

An optional SQL statement to execute immediately upon the first connection to the target database. This is a useful way to initialise tables before processing data. Care should be taken to ensure that the statement is idempotent, and therefore would not cause issues when run multiple times after service restarts.

If both init_statement and init_files are specified the init_statement is executed after the init_files.

If the statement fails for any reason a warning log will be emitted but the operation of this component will not be stopped.

Examples: " CREATE TABLE IF NOT EXISTS some_table ( foo varchar(50) not null, bar integer, baz varchar(50), primary key (foo) ) WITHOUT ROWID; "
init_verify_conn boolean

Whether to verify the database connection on startup by performing a simple ping, by default this is disabled. Default: false

query string

The query to execute. The style of placeholder to use depends on the driver, some drivers require question marks (?) whereas others expect incrementing dollar signs ($1, $2, and so on) or colons (:1, :2 and so on). The style to use is outlined in this table:

DriverPlaceholder Style
clickhouseDollar sign
mysqlQuestion mark
postgresDollar sign
mssqlQuestion mark
sqliteQuestion mark
oracleColon
snowflakeQuestion mark
spannerQuestion mark
trinoQuestion mark
gocosmosColon
Examples: "SELECT * FROM footable WHERE user_id = $1;"
region string

The AWS region to target. Default:

secret_name string

An optional field that can be used to get the Username + Password from AWS Secrets Manager. This will overwrite the Username + Password in the DSN with the values from the Secret only if the driver is set to postgres.

sql_select object
22 nested properties
args_mapping string

An optional Bloblang mapping which should evaluate to an array of values matching in size to the number of placeholder arguments in the field where.

Examples: "root = [ "article", now().ts_format("2006-01-02") ]"
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

azure object

Optional Fields that can be set to use Azure based authentication for Azure Postgres SQL

2 nested properties
entra_enabled boolean

An optional field used to generate an entra token to connect to 'Azure Database for PostgreSQL flexible server', This will create a new connection string with the host, user and database from the DSN field - you may need to URL encode the dsn! The Default Azure Credential Chain is used from the Azure SDK. Default: false

token_request_options object
columns string[]

A list of columns to select.

Examples: ["*"], ["foo","bar","baz"]
conn_max_idle integer

An optional maximum number of connections in the idle connection pool. If conn_max_open is greater than 0 but less than the new conn_max_idle, then the new conn_max_idle will be reduced to match the conn_max_open limit. If value <= 0, no idle connections are retained. The default max idle connections is currently 2. This may change in a future release. Default: 2

conn_max_idle_time string

An optional maximum amount of time a connection may be idle. Expired connections may be closed lazily before reuse. If value <= 0, connections are not closed due to a connections idle time.

conn_max_life_time string

An optional maximum amount of time a connection may be reused. Expired connections may be closed lazily before reuse. If value <= 0, connections are not closed due to a connections age.

conn_max_open integer

An optional maximum number of open connections to the database. If conn_max_idle is greater than 0 and the new conn_max_open is less than conn_max_idle, then conn_max_idle will be reduced to match the new conn_max_open limit. If value <= 0, then there is no limit on the number of open connections. The default is 0 (unlimited).

credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

driver string

A database driver to use.

dsn string

A Data Source Name to identify the target database.

Drivers

The following is a list of supported drivers, their placeholder style, and their respective DSN formats:

DriverData Source Name Format
clickhouseclickhouse://[username[:password]@][netloc][:port]/dbname[?param1=value1&...&paramN=valueN]
mysql[username[:password]@][protocol[(address)]]/dbname[?param1=value1&...&paramN=valueN]
postgrespostgres://[user[:password]@][netloc][:port][/dbname][?param1=value1&...]
mssqlsqlserver://[user[:password]@][netloc][:port][?database=dbname&param1=value1&...]
sqlitefile:/path/to/filename.db[?param&=value1&...]
oracleoracle://[username[:password]@][netloc][:port]/service_name?server=server2&server=server3
snowflakeusername[:password]@account_identifier/dbname/schemaname[?param1=value&...&paramN=valueN]
spannerprojects/[project]/instances/[instance]/databases/dbname
trinohttp[s]://user[:pass]@host[:port][?parameters]
gocosmosAccountEndpoint=<cosmosdb-endpoint>;AccountKey=<cosmosdb-account-key>[;TimeoutMs=<timeout-in-ms>][;Version=<cosmosdb-api-version>][;DefaultDb/Db=<db-name>][;AutoId=<true/false>][;InsecureSkipVerify=<true/false>]

Please note that the postgres driver enforces SSL by default, you can override this with the parameter sslmode=disable if required.

The snowflake driver supports multiple DSN formats. Please consult the docs for more details. For key pair authentication, the DSN has the following format: <snowflake_user>@<snowflake_account>/<db_name>/<schema_name>?warehouse=<warehouse>&role=<role>&authenticator=snowflake_jwt&privateKey=<base64_url_encoded_private_key>, where the value for the privateKey parameter can be constructed from an unencrypted RSA private key file rsa_key.p8 using openssl enc -d -base64 -in rsa_key.p8 | basenc --base64url -w0 (you can use gbasenc insted of basenc on OSX if you install coreutils via Homebrew). If you have a password-encrypted private key, you can decrypt it using openssl pkcs8 -in rsa_key_encrypted.p8 -out rsa_key.p8. Also, make sure fields such as the username are URL-encoded.

The gocosmos driver is still experimental, but it has support for hierarchical partition keys as well as cross-partition queries. Please refer to the SQL notes for details.

Examples: "clickhouse://username:password@host1:9000,host2:9000/database?dial_timeout=200ms&max_execution_time=60", "foouser:foopassword@tcp(localhost:3306)/foodb", "postgres://foouser:foopass@localhost:5432/foodb?sslmode=disable", "oracle://foouser:foopass@localhost:1521/service_name"
endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

iam_enabled boolean

An optional field used to generate an IAM authentication token to connect to an Amazon Relational Database (RDS) DB instance. This will overwrite the Password in the DSN with the generated token only if the drivers are mysql or postgres. Default: false

init_files string[]

An optional list of file paths containing SQL statements to execute immediately upon the first connection to the target database. This is a useful way to initialise tables before processing data. Glob patterns are supported, including super globs (double star).

Care should be taken to ensure that the statements are idempotent, and therefore would not cause issues when run multiple times after service restarts. If both init_statement and init_files are specified the init_statement is executed after the init_files.

If a statement fails for any reason a warning log will be emitted but the operation of this component will not be stopped.

Examples: ["./init/*.sql"], ["./foo.sql","./bar.sql"]
init_statement string

An optional SQL statement to execute immediately upon the first connection to the target database. This is a useful way to initialise tables before processing data. Care should be taken to ensure that the statement is idempotent, and therefore would not cause issues when run multiple times after service restarts.

If both init_statement and init_files are specified the init_statement is executed after the init_files.

If the statement fails for any reason a warning log will be emitted but the operation of this component will not be stopped.

Examples: " CREATE TABLE IF NOT EXISTS some_table ( foo varchar(50) not null, bar integer, baz varchar(50), primary key (foo) ) WITHOUT ROWID; "
init_verify_conn boolean

Whether to verify the database connection on startup by performing a simple ping, by default this is disabled. Default: false

prefix string

An optional prefix to prepend to the select query (before SELECT).

region string

The AWS region to target. Default:

secret_name string

An optional field that can be used to get the Username + Password from AWS Secrets Manager. This will overwrite the Username + Password in the DSN with the values from the Secret only if the driver is set to postgres.

suffix string

An optional suffix to append to the select query.

table string

The table to select from.

Examples: "foo"
where string

An optional where clause to add. Placeholder arguments are populated with the args_mapping field. Placeholders should always be question marks, and will automatically be converted to dollar syntax when the postgres or clickhouse drivers are used.

Examples: "type = ? and created_at > ?", "user_id = ?"
stdin object
4 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

codec string

The way in which the bytes of a data source should be converted into discrete messages, codecs are useful for specifying how large files or continuous streams of data might be processed in small chunks rather than loading it all in memory. It's possible to consume lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Codecs can be chained with /, for example a gzip compressed CSV file can be consumed with the codec gzip/csv.

Examples: "lines", "delim: ", "delim:foobar", "gzip/csv"
max_buffer integer

Default: 1000000

scanner object

The scanner by which the stream of bytes consumed will be broken out into individual messages. Scanners are useful for processing large sources of data without holding the entirety of it within memory. For example, the csv scanner allows you to process individual CSV rows without loading the entire CSV file in memory at once. Default: map[lines:map[]]

subprocess object
5 nested properties
args string[]

A list of arguments to provide the command. Default: []

codec string

The way in which messages should be consumed from the subprocess. Default: lines

max_buffer integer

The maximum expected size of an individual message. Default: 65536

name string

The command to execute as a subprocess.

Examples: "cat", "sed", "awk"
restart_on_exit boolean

Whether the command should be re-executed each time the subprocess ends. Default: false

twitter_search object
9 nested properties
api_key string

An API key for OAuth 2.0 authentication. It is recommended that you populate this field using environment variables.

api_secret string

An API secret for OAuth 2.0 authentication. It is recommended that you populate this field using environment variables.

backfill_period string

A duration string indicating the maximum age of tweets to acquire when starting a search. Default: 5m

cache string

A cache resource to use for request pagination.

cache_key string

The key identifier used when storing the ID of the last tweet received. Default: last_tweet_id

poll_period string

The length of time (as a duration string) to wait between each search request. This field can be set empty, in which case requests are made at the limit set by the rate limit. This field also supports cron expressions. Default: 1m

query string

A search expression to use.

rate_limit string

An optional rate limit resource to restrict API requests with. Default:

tweet_fields string[]

An optional list of additional fields to obtain for each tweet, by default only the fields id and text are returned. For more info refer to the twitter API docs. Default: []

websocket object
12 nested properties
auto_replay_nacks boolean

Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation. Default: true

basic_auth object

Allows you to specify basic authentication.

3 nested properties
enabled boolean

Whether to use basic authentication in requests. Default: false

password string

A password to authenticate with. Default:

username string

A username to authenticate as. Default:

connection object

Customise how websocket connection attempts are made.

1 nested properties
max_retries integer

An optional limit to the number of consecutive retry attempts that will be made before abandoning the connection altogether and gracefully terminating the input. When all inputs terminate in this way the service (or stream) will shut down. If set to zero connections will never be reattempted upon a failure. If set below zero this field is ignored (effectively unset).

Examples: -1, 10
headers object

A map of custom headers to add to the websocket handshake. Default: map[]

Examples: {"Sec-WebSocket-Protocol":"graphql-ws","User-Agent":"${! uuid_v4() }","X-Client-ID":"${CLIENT_ID}"}
jwt object

BETA: Allows you to specify JWT authentication.

5 nested properties
claims object

A value used to identify the claims that issued the JWT. Default: map[]

enabled boolean

Whether to use JWT authentication in requests. Default: false

headers object

Add optional key/value headers to the JWT. Default: map[]

private_key_file string

A file with the PEM encoded via PKCS1 or PKCS8 as private key. Default:

signing_method string

A method used to sign the token such as RS256, RS384, RS512 or EdDSA. Default:

oauth object

Allows you to specify open authentication via OAuth version 1.

5 nested properties
access_token string

A value used to gain access to the protected resources on behalf of the user. Default:

access_token_secret string

A secret provided in order to establish ownership of a given access token. Default:

consumer_key string

A value used to identify the client to the service provider. Default:

consumer_secret string

A secret used to establish ownership of the consumer key. Default:

enabled boolean

Whether to use OAuth version 1 in requests. Default: false

open_message string

An optional message to send to the server upon connection.

open_message_type string

An optional flag to indicate the data type of open_message. Default: binary

open_messages string[]

An optional list of messages to send to the server upon connection. This field replaces open_message, which will be removed in a future version.

proxy_url string

An optional HTTP proxy URL.

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

The URL to connect to.

Examples: "ws://localhost:4195/get/ws"
zmq4n object
6 nested properties
bind boolean

Whether to bind to the specified URLs (otherwise they are connected to). Default: false

high_water_mark integer

The message high water mark to use. (experimental i go-zeromq) Default: 0

poll_timeout string

The poll timeout to use. Default: 5s

socket_type string

The socket type to connect as.

sub_filters string[]

A list of subscription topic filters to use when consuming from a SUB socket. Specifying a single sub_filter of '' will subscribe to everything. Default: []

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["tcp://localhost:5555"]
logger object

Describes how operational logs should be emitted.

9 nested properties
add_timestamp boolean

Whether to include timestamps in logs. Default: false

file object

Experimental: Specify fields for optionally writing logs to a file.

3 nested properties
path string

The file path to write logs to, if the file does not exist it will be created. Leave this field empty or unset to disable file based logging. Default:

rotate boolean

Whether to rotate log files automatically. Default: false

rotate_max_age_days integer

The maximum number of days to retain old log files based on the timestamp encoded in their filename, after which they are deleted. Setting to zero disables this mechanism. Default: 0

format string

Set the format of emitted logs. Default: logfmt

level string

Set the minimum severity level for emitting logs. Default: INFO

level_name string

The name of the level field added to logs when the format is json. Default: level

log_all_errors boolean

Experimental: When set, the logger will promote any log containing an error type to the ERROR level. Default: false

message_name string

The name of the message field added to logs when the format is json. Default: msg

static_fields object

A map of key/value pairs to add to each structured log. Default: map[@service:bento]

timestamp_name string

The name of the timestamp field added to logs when add_timestamp is set to true and the format is json. Default: time

metrics object

A mechanism for exporting metrics. Default: map[mapping: prometheus:map[]]

7 nested properties
aws_cloudwatch object
5 nested properties
credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

flush_period string

The period of time between PutMetricData requests. Default: 100ms

namespace string

The namespace used to distinguish metrics from other services. Default: Bento

region string

The AWS region to target. Default:

influxdb object
13 nested properties
db string

The name of the database to use.

include object

Optional additional metrics to collect, enabling these metrics may have some performance implications as it acquires a global semaphore and does stoptheworld().

2 nested properties
debug_gc string

A duration string indicating how often to poll and collect GC metrics. Leave empty to disable this metric. Default:

Examples: "1m"
runtime string

A duration string indicating how often to poll and collect runtime metrics. Leave empty to disable this metric Default:

Examples: "1m"
interval string

A duration string indicating how often metrics should be flushed. Default: 1m

password string

A password (when applicable). Default:

ping_interval string

A duration string indicating how often to ping the host. Default: 20s

precision string

[ns|us|ms|s] timestamp precision passed to write api. Default: s

retention_policy string

Sets the retention policy for each write.

tags object

Global tags added to each metric. Default: map[]

Examples: {"hostname":"localhost","zone":"danger"}
timeout string

How long to wait for response for both ping and writing metrics. Default: 5s

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

A URL of the format [https|http|udp]://host:port to the InfluxDB host.

username string

A username (when applicable). Default:

write_consistency string

[any|one|quorum|all] sets write consistency when available.

json_api object

Default: map[]

logger object
2 nested properties
flush_metrics boolean

Whether counters and timing metrics should be reset to 0 each time metrics are printed. Default: false

push_interval string

An optional period of time to continuously print all metrics.

none object

Default: map[]

prometheus object
11 nested properties
add_go_metrics boolean

Whether to export Go runtime metrics such as GC pauses in addition to Bento metrics. Default: false

add_process_metrics boolean

Whether to export process metrics such as CPU and memory usage in addition to Bento metrics. Default: false

file_output_path string

An optional file path to write all prometheus metrics on service shutdown. Default:

histogram_buckets number

Timing metrics histogram buckets (in seconds). If left empty defaults to DefBuckets (https://pkg.go.dev/github.com/prometheus/client_golang/prometheus#pkg-variables). Applicable when use_histogram_timing is set to true. Default: []

push_basic_auth object

The Basic Authentication credentials.

2 nested properties
password string

The Basic Authentication password. Default:

username string

The Basic Authentication username. Default:

push_interval string

The period of time between each push when sending metrics to a Push Gateway.

push_job_name string

An identifier for push jobs. Default: bento_push

push_url string

An optional Push Gateway URL to push metrics to.

summary_quantiles_objectives object[]

A list of timing metrics summary buckets (as quantiles). Applicable when use_histogram_timing is set to false. Default: [map[error:0.05 quantile:0.5] map[error:0.01 quantile:0.9] map[error:0.001 quantile:0.99]]

Examples: [{"error":0.05,"quantile":0.5},{"error":0.01,"quantile":0.9},{"error":0.001,"quantile":0.99}]
use_default_registry boolean

Whether to use the same Prometheus registry as the main process or create a new one. Most useful when using the StreamBuilder API and you want the stream metrics to be scraped from the same port as the metrics of the parent process. Default: false

use_histogram_timing boolean

Whether to export timing metrics as a histogram, if false a summary is used instead. When exporting histogram timings the delta values are converted from nanoseconds into seconds in order to better fit within bucket definitions. For more information on histograms and summaries refer to: https://prometheus.io/docs/practices/histograms/. Default: false

statsd object
3 nested properties
address string

The address to send metrics to.

flush_period string

The time interval between metrics flushes. Default: 100ms

tag_format string

Metrics tagging is supported in a variety of formats. Default: none

output object

An output to sink messages to. Default: map[stdout:map[]]

73 nested properties
amqp_0_9 object
21 nested properties
app_id string

Set the application ID of each message with a dynamic interpolated expression. Default:

content_encoding string

The content encoding attribute to set for each message. Default:

content_type string

The content type attribute to set for each message. Default: application/octet-stream

correlation_id string

Set the correlation ID of each message with a dynamic interpolated expression. Default:

exchange string

An AMQP exchange to publish to.

exchange_declare object

Optionally declare the target exchange (passive).

3 nested properties
durable boolean

Whether the exchange should be durable. Default: true

enabled boolean

Whether to declare the exchange. Default: false

type string

The type of the exchange. Default: direct

expiration string

Set the per-message TTL Default:

immediate boolean

Whether to set the immediate flag on published messages. When set if there are no ready consumers of a queue then the message is dropped instead of waiting. Default: false

key string

The binding key to set for each message. Default:

mandatory boolean

Whether to set the mandatory flag on published messages. When set if a published message is routed to zero queues it is returned. Default: false

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

message_id string

Set the message ID of each message with a dynamic interpolated expression. Default:

metadata object

Specify criteria for which metadata values are attached to messages as headers.

1 nested properties
exclude_prefixes string[]

Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []

persistent boolean

Whether message delivery should be persistent (transient by default). Default: false

priority string

Set the priority of each message with a dynamic interpolated expression. Default:

Examples: "0", "${! metadata("amqp_priority") }", "${! json("doc.priority") }"
reply_to string

Carries response queue name - set with a dynamic interpolated expression. Default:

timeout string

The maximum period to wait before abandoning it and reattempting. If not set, wait indefinitely. Default:

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

type string

The type property to set for each message. Default:

urls string[]

A list of URLs to connect to. The first URL to successfully establish a connection will be used until the connection is closed. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["amqp://guest:[email protected]:5672/"], ["amqp://127.0.0.1:5672/,amqp://127.0.0.2:5672/"], ["amqp://127.0.0.1:5672/","amqp://127.0.0.2:5672/"]
user_id string

Set the user ID to the name of the publisher. If this property is set by a publisher, its value must be equal to the name of the user used to open the connection. Default:

amqp_1 object
8 nested properties
application_properties_map string

An optional Bloblang mapping that can be defined in order to set the application-properties on output messages.

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

metadata object

Specify criteria for which metadata values are attached to messages as headers.

1 nested properties
exclude_prefixes string[]

Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []

sasl object

Enables SASL authentication.

3 nested properties
mechanism string

The SASL authentication mechanism to use. Default: none

password string

A SASL plain text password. It is recommended that you use environment variables to populate this field. Default:

Examples: "${PASSWORD}"
user string

A SASL plain text username. It is recommended that you use environment variables to populate this field. Default:

Examples: "${USER}"
target_address string

The target address to write to.

Examples: "/foo", "queue:/bar", "topic:/baz"
tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

A URL to connect to.

Examples: "amqp://localhost:5672/", "amqps://guest:guest@localhost:5672/"
urls string[]

A list of URLs to connect to. The first URL to successfully establish a connection will be used until the connection is closed. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["amqp://guest:[email protected]:5672/"], ["amqp://127.0.0.1:5672/,amqp://127.0.0.2:5672/"], ["amqp://127.0.0.1:5672/","amqp://127.0.0.2:5672/"]
aws_dynamodb object
13 nested properties
backoff object

Control time intervals between retry attempts.

3 nested properties
initial_interval string

The initial period to wait between retry attempts. Default: 1s

max_elapsed_time string

The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s

max_interval string

The maximum period to wait between retry attempts. Default: 5s

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

delete object

Optional config fields that enable creating Delete requests from messages. If the bloblang mapping provided in delete.condition resolves to true, a delete request for the corresponding partition key will be made.

3 nested properties
condition string

A bloblang mapping that should return a bool, that will determine if the message will be used to create a Delete rather than Put Default:

Examples: "root = this.isDelete == "true""
partition_key string

The partition key for DeleteItem requests. Required when delete.condition is true. The value of the key will be resolved from either string_columns or json_map_columns Default:

sort_key string

The sort key for DeleteItem requests. The value of the key will be resolved from either string_columns or json_map_columns Default:

endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

json_map_columns object

A map of column keys to field paths pointing to value data within messages. Default: map[]

Examples: {"user":"path.to.user","whole_document":"."}, {"":"."}
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

max_retries integer

The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 3

region string

The AWS region to target. Default:

string_columns object

A map of column keys to string values to store. Default: map[]

Examples: {"full_content":"${!content()}","id":"${!json(\"id\")}","title":"${!json(\"body.title\")}","topic":"${!meta(\"kafka_topic\")}"}
table string

The table to store messages in.

ttl string

An optional TTL to set for items, calculated from the moment the message is sent. Default:

ttl_key string

The column key to place the TTL value within. Default:

aws_kinesis object
10 nested properties
backoff object

Control time intervals between retry attempts.

3 nested properties
initial_interval string

The initial period to wait between retry attempts. Default: 1s

max_elapsed_time string

The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s

max_interval string

The maximum period to wait between retry attempts. Default: 5s

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

hash_key string

A optional hash key for partitioning messages.

max_in_flight integer

The maximum number of parallel message batches to have in flight at any given time. Default: 64

max_retries integer

The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0

partition_key string

A required key for partitioning messages.

region string

The AWS region to target. Default:

stream string

The stream to publish messages to. Streams can either be specified by their name or full ARN.

Examples: "foo", "arn:aws:kinesis:*:111122223333:stream/my-stream"
aws_kinesis_firehose object
8 nested properties
backoff object

Control time intervals between retry attempts.

3 nested properties
initial_interval string

The initial period to wait between retry attempts. Default: 1s

max_elapsed_time string

The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s

max_interval string

The maximum period to wait between retry attempts. Default: 5s

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

max_retries integer

The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0

region string

The AWS region to target. Default:

stream string

The stream to publish messages to.

aws_s3 object
20 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
bucket string

The bucket to upload messages to.

cache_control string

The cache control to set for each object. Default:

content_disposition string

The content disposition to set for each object. Default:

content_encoding string

An optional content encoding to set for each object. Default:

content_language string

The content language to set for each object. Default:

content_type string

The content type to set for each object. Default: application/octet-stream

credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

force_path_style_urls boolean

Forces the client API to use path style URLs, which helps when connecting to custom endpoints. Default: false

kms_key_id string

An optional server side encryption key. Default:

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

metadata object

Specify criteria for which metadata values are attached to objects as headers.

1 nested properties
exclude_prefixes string[]

Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []

path string

The path of each message to upload. Default: ${!count("files")}-${!timestamp_unix_nano()}.txt

Examples: "${!count("files")}-${!timestamp_unix_nano()}.txt", "${!metadata("kafka_key")}.json", "${!json("doc.namespace")}/${!json("doc.id")}.json"
region string

The AWS region to target. Default:

server_side_encryption string

An optional server side encryption algorithm. Default:

storage_class string

The storage class to set for each object. Default: STANDARD

tags object

Key/value pairs to store with the object as tags. Default: map[]

Examples: {"Key1":"Value1","Timestamp":"${!metadata(\"Timestamp\")}"}
timeout string

The maximum period to wait on an upload before abandoning it and reattempting. Default: 5s

website_redirect_location string

The website redirect location to set for each object. Default:

aws_sns object
9 nested properties
credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

message_deduplication_id string

An optional deduplication ID to set for messages.

message_group_id string

An optional group ID to set for messages.

metadata object

Specify criteria for which metadata values are sent as headers.

1 nested properties
exclude_prefixes string[]

Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []

region string

The AWS region to target. Default:

timeout string

The maximum period to wait on an upload before abandoning it and reattempting. Default: 5s

topic_arn string

The topic to publish to.

aws_sqs object
12 nested properties
backoff object

Control time intervals between retry attempts.

3 nested properties
initial_interval string

The initial period to wait between retry attempts. Default: 1s

max_elapsed_time string

The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s

max_interval string

The maximum period to wait between retry attempts. Default: 5s

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

delay_seconds string

An optional delay time in seconds for message. Value between 0 and 900

endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

max_in_flight integer

The maximum number of parallel message batches to have in flight at any given time. Default: 64

max_retries integer

The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0

message_deduplication_id string

An optional deduplication ID to set for messages.

message_group_id string

An optional group ID to set for messages.

metadata object

Specify criteria for which metadata values are sent as headers.

1 nested properties
exclude_prefixes string[]

Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []

region string

The AWS region to target. Default:

url string

The URL of the target SQS queue.

azure_blob_storage object
9 nested properties
blob_type string

Block and Append blobs are comprised of blocks, and each blob can support up to 50,000 blocks. The default value is +"BLOCK"+.` Default: BLOCK

container string

The container for uploading the messages to.

Examples: "messages-${!timestamp("2006")}"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

path string

The path of each message to upload. Default: ${!count("files")}-${!timestamp_unix_nano()}.txt

Examples: "${!count("files")}-${!timestamp_unix_nano()}.json", "${!metadata("kafka_key")}.json", "${!json("doc.namespace")}/${!json("doc.id")}.json"
public_access_level string

The container's public access level. The default value is PRIVATE. Default: PRIVATE

storage_access_key string

The storage account access key. This field is ignored if storage_connection_string is set. Default:

storage_account string

The storage account to access. This field is ignored if storage_connection_string is set. Default:

storage_connection_string string

A storage account connection string. This field is required if storage_account and storage_access_key / storage_sas_token are not set. Default:

storage_sas_token string

The storage account SAS token. This field is ignored if storage_connection_string or storage_access_key are set. Default:

azure_cosmosdb object
13 nested properties
account_key string

Account key.

Examples: "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=="
auto_id boolean

Automatically set the item id field to a random UUID v4. If the id field is already set, then it will not be overwritten. Setting this to false can improve performance, since the messages will not have to be parsed. Default: true

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
connection_string string

Connection string.

Examples: "AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;"
container string

Container.

Examples: "testcontainer"
database string

Database.

Examples: "testdb"
endpoint string

CosmosDB endpoint.

Examples: "https://localhost:8081"
item_id string

ID of item to replace or delete. Only used by the Replace and Delete operations

Examples: "${! json("id") }"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

operation string

Operation. Default: Create

partition_keys_map string

A Bloblang mapping which should evaluate to a single partition key value or an array of partition key values of type string, integer or boolean. Currently, hierarchical partition keys are not supported so only one value may be provided.

Examples: "root = "blobfish"", "root = 41", "root = true", "root = null", "root = json("blobfish").depth"
patch_condition string

Patch operation condition.

Examples: "from c where not is_defined(c.blobfish)"
patch_operations object[]

Patch operations to be performed when operation: Patch .

azure_queue_storage object
8 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
max_in_flight integer

The maximum number of parallel message batches to have in flight at any given time. Default: 64

queue_name string

The name of the target Queue Storage queue.

storage_access_key string

The storage account access key. This field is ignored if storage_connection_string is set. Default:

storage_account string

The storage account to access. This field is ignored if storage_connection_string is set. Default:

storage_connection_string string

A storage account connection string. This field is required if storage_account and storage_access_key / storage_sas_token are not set. Default:

storage_sas_token string

The storage account SAS token. This field is ignored if storage_connection_string or storage_access_key are set. Default:

ttl string

The TTL of each individual message as a duration string. Defaults to 0, meaning no retention period is set Default:

Examples: "60s", "5m", "36h"
azure_table_storage object
13 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
insert_type string

Type of insert operation. Valid options are INSERT, INSERT_MERGE and INSERT_REPLACE Default:

Examples: "${! json("operation") }", "${! metadata("operation") }", "INSERT"
max_in_flight integer

The maximum number of parallel message batches to have in flight at any given time. Default: 64

partition_key string

The partition key. Default:

Examples: "${! json("date") }"
properties object

A map of properties to store into the table. Default: map[]

row_key string

The row key. Default:

Examples: "${! json("device")}-${!uuid_v4() }"
storage_access_key string

The storage account access key. This field is ignored if storage_connection_string is set. Default:

storage_account string

The storage account to access. This field is ignored if storage_connection_string is set. Default:

storage_connection_string string

A storage account connection string. This field is required if storage_account and storage_access_key / storage_sas_token are not set. Default:

storage_sas_token string

The storage account SAS token. This field is ignored if storage_connection_string or storage_access_key are set. Default:

table_name string

The table to store messages into.

Examples: "${! metadata("kafka_topic") }", "${! json("table") }"
timeout string

The maximum period to wait on an upload before abandoning it and reattempting. Default: 5s

transaction_type string

Type of transaction operation. Default: INSERT

Examples: "${! json("operation") }", "${! metadata("operation") }", "INSERT"
beanstalkd object
2 nested properties
address string

An address to connect to.

Examples: "127.0.0.1:11300"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase to improve throughput. Default: 64

broker object
4 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
copies integer

The number of copies of each configured output to spawn. Default: 1

outputs object[]

A list of child outputs to broker. Each item can be either a complete inline output configuration or a reference to an output resource.

pattern string

The brokering pattern to use. Default: fan_out

cache object
4 nested properties
key string

The key to store messages by, function interpolation should be used in order to derive a unique key for each message. Default: ${!count("items")}-${!timestamp_unix_nano()}

Examples: "${!count("items")}-${!timestamp_unix_nano()}", "${!json("doc.id")}", "${!metadata("kafka_key")}"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

target string

The target cache to store messages in.

ttl string

The TTL of each individual item as a duration string. After this period an item will be eligible for removal during the next compaction. Not all caches support per-key TTLs, and those that do not will fall back to their generally configured TTL setting.

Examples: "60s", "5m", "36h"
cassandra object
13 nested properties
addresses string[]

A list of Cassandra nodes to connect to. Multiple comma separated addresses can be specified on a single line.

Examples: ["localhost:9042"], ["foo:9042","bar:9042"], ["foo:9042,bar:9042"]
args_mapping string

A Bloblang mapping that can be used to provide arguments to Cassandra queries. The result of the query must be an array containing a matching number of elements to the query arguments.

backoff object

Control time intervals between retry attempts.

2 nested properties
initial_interval string

The initial period to wait between retry attempts. Default: 1s

max_interval string

The maximum period to wait between retry attempts. Default: 5s

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
consistency string

The consistency level to use. Default: QUORUM

disable_initial_host_lookup boolean

If enabled the driver will not attempt to get host info from the system.peers table. This can speed up queries but will mean that data_centre, rack and token information will not be available. Default: false

logged_batch boolean

If enabled the driver will perform a logged batch. Disabling this prompts unlogged batches to be used instead, which are less efficient but necessary for alternative storages that do not support logged batches. Default: true

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

max_retries integer

The maximum number of retries before giving up on a request. Default: 3

password_authenticator object

Optional configuration of Cassandra authentication parameters.

3 nested properties
enabled boolean

Whether to use password authentication Default: false

password string

The password to authenticate with. Default:

username string

The username to authenticate as. Default:

query string

A query to execute for each message.

timeout string

The client connection timeout. Default: 600ms

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

couchbase object
14 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
bucket string

Couchbase bucket.

cas_enabled boolean

Enable CAS validation. Default: true

collection string

Bucket collection. Default: _default

content string

Document content.

id string

Document id.

Examples: "${! json("id") }"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

operation string

Couchbase operation to perform. Default: upsert

password string

Password to connect to the cluster.

timeout string

Operation timeout. Default: 15s

transcoder string

Couchbase transcoder to use. Default: legacy

ttl string

An optional TTL to set for items.

url string

Couchbase connection string.

Examples: "couchbase://localhost:11210"
username string

Username to connect to the cluster.

cypher object
9 nested properties
basic_auth object

Basic Authentication fields

3 nested properties
password string

The password for basic auth. Default:

realm string

The realm for basic auth. Default:

user string

The username for basic auth. Default:

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
database string

The name of the database to connect to.

Examples: "neo4j"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

no_auth boolean

Set to true to connect without authentication. Default: false

query string

The cypher query to execute.

Examples: "CREATE (p:Person {name: $name}) RETURN p"
tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

uri string

The URL of the database engine.

Examples: "bolt://localhost:7687"
values object

A map of strings -> bloblang interpolations that form the values of the references in the query i.e. $name. Default: map[]

Examples: {"name":"${! json(\"name\") }"}
discord object
3 nested properties
bot_token string

A bot token used for authentication.

channel_id string

A discord channel ID to write messages to.

rate_limit string

Default: An optional rate limit resource to restrict API requests with.

drop object

Default: map[]

drop_on object
4 nested properties
back_pressure string

An optional duration string that determines the maximum length of time to wait for a given message to be accepted by the child output before the message should be dropped instead. The most common reason for an output to block is when waiting for a lost connection to be re-established. Once a message has been dropped due to back pressure all subsequent messages are dropped immediately until the output is ready to process them again. Note that if error is set to false and this field is specified then messages dropped due to back pressure will return an error response (are nacked or reattempted).

Examples: "30s", "1m"
error boolean

Whether messages should be dropped when the child output returns an error of any type. For example, this could be when an http_client output gets a 4XX response code. In order to instead drop only on specific error patterns use the error_matches field instead. Default: false

error_patterns string[]

A list of regular expressions (re2) where if the child output returns an error that matches any part of any of these patterns the message will be dropped.

Examples: ["and that was really bad$"], ["roughly [0-9]+ issues occurred"]
output object

A child output to wrap with this drop mechanism.

dynamic object
2 nested properties
outputs object

A map of outputs to statically create. Default: map[]

prefix string

A path prefix for HTTP endpoints that are registered. Default:

elasticsearch object
18 nested properties
action string

The action to take on the document. This field must resolve to one of the following action types: create, index, update, upsert or delete. Default: index

aws object

Enables and customises connectivity to Amazon Elastic Service.

4 nested properties
credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

enabled boolean

Whether to connect to Amazon Elastic Service. Default: false

endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

region string

The AWS region to target. Default:

backoff object

Control time intervals between retry attempts.

3 nested properties
initial_interval string

The initial period to wait between retry attempts. Default: 1s

max_elapsed_time string

The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s

max_interval string

The maximum period to wait between retry attempts. Default: 5s

basic_auth object

Allows you to specify basic authentication.

3 nested properties
enabled boolean

Whether to use basic authentication in requests. Default: false

password string

A password to authenticate with. Default:

username string

A username to authenticate as. Default:

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
gzip_compression boolean

Enable gzip compression on the request side. Default: false

healthcheck boolean

Whether to enable healthchecks. Default: true

id string

The ID for indexed messages. Interpolation should be used in order to create a unique ID for each message. Default: ${!count("elastic_ids")}-${!timestamp_unix()}

index string

The index to place messages.

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

max_retries integer

The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0

pipeline string

An optional pipeline id to preprocess incoming documents. Default:

routing string

The routing key to use for the document. Default:

sniff boolean

Prompts Bento to sniff for brokers to connect to when establishing a connection. Default: true

timeout string

The maximum time to wait before abandoning a request (and trying again). Default: 5s

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

type string

The document mapping type. This field is required for versions of elasticsearch earlier than 6.0.0, but are invalid for versions 7.0.0 or later. Default:

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["http://localhost:9200"]
elasticsearch_v2 object
17 nested properties
action string

The action to take on the document. This field must resolve to one of the following action types: create, index, update, upsert or delete. Default: index

backoff object

Control time intervals between retry attempts.

3 nested properties
initial_interval string

The initial period to wait between retry attempts. Default: 1s

max_elapsed_time string

The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s

max_interval string

The maximum period to wait between retry attempts. Default: 5s

basic_auth object

Allows you to specify basic authentication.

3 nested properties
enabled boolean

Whether to use basic authentication in requests. Default: false

password string

A password to authenticate with. Default:

username string

A username to authenticate as. Default:

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
compress_request_body boolean

Enable gzip compression on the request side. Default: false

discover_nodes_interval string

Discover nodes periodically. Default: 0s

discover_nodes_on_start boolean

Discover nodes when initializing the client. Default: false

id string

The ID for indexed messages. Interpolation should be used in order to create a unique ID for each message. Default: ${!count("elastic_ids")}-${!timestamp_unix()}

index string

The index to place messages.

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

max_retries integer

The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0

pipeline string

An optional pipeline id to preprocess incoming documents. Default:

retry_on_status integer

HTTP Status codes that should be retried. Default: [502 503 504]

routing string

The routing key to use for the document. Default:

timeout string

The maximum time to wait before abandoning a request (and trying again). Default: 5s

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["http://localhost:9200"]
fallback object[]

Default: []

file object
2 nested properties
codec string

The way in which the bytes of messages should be written out into the output data stream. It's possible to write lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Default: lines

Examples: "lines", "delim: ", "delim:foobar"
path string

The file to write to, if the file does not yet exist it will be created.

Examples: "/tmp/data.txt", "/tmp/${! timestamp_unix() }.txt", "/tmp/${! json("document.id") }.json"
gcp_bigquery object
13 nested properties
auto_detect boolean

Indicates if we should automatically infer the options and schema for CSV and JSON sources. If the table doesn't exist and this field is set to false the output may not be able to insert data and will throw insertion error. Be careful using this field since it delegates to the GCP BigQuery service the schema detection and values like "no" may be treated as booleans for the CSV format. Default: false

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
create_disposition string

Specifies the circumstances under which destination table will be created. If CREATE_IF_NEEDED is used the GCP BigQuery will create the table if it does not already exist and tables are created atomically on successful completion of a job. The CREATE_NEVER option ensures the table must already exist and will not be automatically created. Default: CREATE_IF_NEEDED

csv object

Specify how CSV data should be interpretted.

6 nested properties
allow_jagged_rows boolean

Causes missing trailing optional columns to be tolerated when reading CSV data. Missing values are treated as nulls. Default: false

allow_quoted_newlines boolean

Sets whether quoted data sections containing newlines are allowed when reading CSV data. Default: false

encoding string

Encoding is the character encoding of data to be read. Default: UTF-8

field_delimiter string

The separator for fields in a CSV file, used when reading or exporting data. Default: ,

header string[]

A list of values to use as header for each batch of messages. If not specified the first line of each message will be used as header. Default: []

skip_leading_rows integer

The number of rows at the top of a CSV file that BigQuery will skip when reading data. The default value is 1 since Bento will add the specified header in the first line of each batch sent to BigQuery. Default: 1

dataset string

The BigQuery Dataset ID.

format string

The format of each incoming message. Default: NEWLINE_DELIMITED_JSON

ignore_unknown_values boolean

Causes values not matching the schema to be tolerated. Unknown values are ignored. For CSV this ignores extra values at the end of a line. For JSON this ignores named values that do not match any column name. If this field is set to false (the default value), records containing unknown values are treated as bad records. The max_bad_records field can be used to customize how bad records are handled. Default: false

job_labels object

A list of labels to add to the load job. Default: map[]

max_bad_records integer

The maximum number of bad records that will be ignored when reading data. Default: 0

max_in_flight integer

The maximum number of message batches to have in flight at a given time. Increase this to improve throughput. Default: 64

project string

The project ID of the dataset to insert data to. If not set, it will be inferred from the credentials or read from the GOOGLE_CLOUD_PROJECT environment variable. Default:

table string

:::caution Interpolation of Message Batches It is assumed that the first message in the batch will resolve the bloblang query and that string will be used for all messages in the batch. ::: The table to insert messages to.

write_disposition string

Specifies how existing data in a destination table is treated. Default: WRITE_APPEND

gcp_bigquery_write_api object
8 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
dataset string

The BigQuery Dataset ID.

endpoint object

Used to overwrite the default gRPC and HTTP BigQuery endpoints.

2 nested properties
grpc string

The endpoint used to create the BigQuery Storage API client. Default:

http string

The endpoint used to create the BigQuery client. Default:

max_in_flight integer

The maximum number of message batches to have in flight at a given time. Increase this to improve throughput. Default: 64

message_format string

Format of incoming messages Default: json

project string

The project ID of the dataset to insert data to. If not set, it will be inferred from the credentials or read from the GOOGLE_CLOUD_PROJECT environment variable. Default:

stream_type string

:::caution Storage API Stream Types Only DEFAULT stream types are currently enabled. Future versions will see support extended to COMMITTED, BUFFERED, and PENDING. ::: sets the type of stream this write client is managing. Default: DEFAULT

table string

:::caution Interpolation of Message Batches It is assumed that the first message in the batch will resolve the bloblang query and that string will be used for all messages in the batch. ::: The table to insert messages to.

gcp_cloud_storage object
9 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
bucket string

The bucket to upload messages to.

chunk_size integer

An optional chunk size which controls the maximum number of bytes of the object that the Writer will attempt to send to the server in a single request. If ChunkSize is set to zero, chunking will be disabled. Default: 16777216

collision_mode string

Determines how file path collisions should be dealt with. Default: overwrite

content_encoding string

An optional content encoding to set for each object. Default:

content_type string

The content type to set for each object. Default: application/octet-stream

max_in_flight integer

The maximum number of message batches to have in flight at a given time. Increase this to improve throughput. Default: 64

path string

The path of each message to upload. Default: ${!count("files")}-${!timestamp_unix_nano()}.txt

Examples: "${!count("files")}-${!timestamp_unix_nano()}.txt", "${!metadata("kafka_key")}.json", "${!json("doc.namespace")}/${!json("doc.id")}.json"
timeout string

The maximum period to wait on an upload before abandoning it and reattempting. Default: 3s

Examples: "1s", "500ms"
gcp_pubsub object
12 nested properties
batching object

Configures a batching policy on this output. While the PubSub client maintains its own internal buffering mechanism, preparing larger batches of messages can further trade-off some latency for throughput.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
byte_threshold integer

Publish a batch when its size in bytes reaches this value. Default: 1000000

count_threshold integer

Publish a pubsub buffer when it has this many messages Default: 100

delay_threshold string

Publish a non-empty pubsub buffer after this delay has passed. Default: 10ms

endpoint string

An optional endpoint to override the default of pubsub.googleapis.com:443. This can be used to connect to a region specific pubsub endpoint. For a list of valid values check out this document. Default:

Examples: "us-central1-pubsub.googleapis.com:443", "us-west3-pubsub.googleapis.com:443"
flow_control object

For a given topic, configures the PubSub client's internal buffer for messages to be published.

3 nested properties
limit_exceeded_behavior string

Configures the behavior when trying to publish additional messages while the flow controller is full. The available options are block (default), ignore (disable), and signal_error (publish results will return an error). Default: block

max_outstanding_bytes integer

Maximum size of buffered messages to be published. If less than or equal to zero, this is disabled. Default: -1

max_outstanding_messages integer

Maximum number of buffered messages to be published. If less than or equal to zero, this is disabled. Default: 1000

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increasing this may improve throughput. Default: 64

metadata object

Specify criteria for which metadata values are sent as attributes, all are sent by default.

1 nested properties
exclude_prefixes string[]

Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []

ordering_key string

The ordering key to use for publishing messages.

project string

The project ID of the topic to publish to.

publish_timeout string

The maximum length of time to wait before abandoning a publish attempt for a message. Default: 1m0s

Examples: "10s", "5m", "60m"
topic string

The topic to publish to.

grpc_client object
12 nested properties
address string

The URI of the gRPC target to connect to.

Examples: "localhost:50051"
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
health_check object
2 nested properties
enabled boolean

Whether Bento should healthcheck the unary Check rpc endpoint on init connection: gRPC Health Checking Default: false

service string

The name of the service to healthcheck, note that the default value of "", will attempt to check the health of the whole server Default:

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

method string

The name of the method to invoke

Examples: "SayHello"
oauth2 object

Allows you to specify open authentication via OAuth version 2 using the client credentials token flow.

6 nested properties
client_key string

A value used to identify the client to the token provider. Default:

client_secret string

A secret used to establish ownership of the client key. Default:

enabled boolean

Whether to use OAuth version 2 in requests. Default: false

endpoint_params object

A list of optional endpoint parameters, values should be arrays of strings. Default: map[]

Examples: {"bar":["woof"],"foo":["meow","quack"]}
scopes string[]

A list of optional requested permissions. Default: []

token_url string

The URL of the token provider. Default:

propagate_response boolean

Whether responses from the server should be propagated back to the input. Default: false

proto_files string[]

A list of filepaths of .proto files that should contain the schemas necessary for the gRPC method. Default: []

Examples: ["./grpc_test_server/helloworld.proto"]
reflection boolean

If set to true, Bento will acquire the protobuf schema for the method from the server via gRPC Reflection. Default: false

rpc_type string

The type of the rpc method. Default: unary

service string

The name of the service.

Examples: "helloworld.Greeter"
tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

hdfs object
6 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
directory string

A directory to store message files within. If the directory does not exist it will be created.

hosts string[]

A list of target host addresses to connect to.

Examples: "localhost:9000"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

path string

The path to upload messages as, interpolation functions should be used in order to generate unique file paths. Default: ${!count("files")}-${!timestamp_unix_nano()}.txt

user string

A user ID to connect as. Default:

http_client object
26 nested properties
backoff_on integer

A list of status codes whereby the request should be considered to have failed and retries should be attempted, but the period between them should be increased gradually. Default: [429]

basic_auth object

Allows you to specify basic authentication.

3 nested properties
enabled boolean

Whether to use basic authentication in requests. Default: false

password string

A password to authenticate with. Default:

username string

A username to authenticate as. Default:

batch_as_multipart boolean

Send message batches as a single request using RFC1341. If disabled messages in batches will be sent as individual requests. Default: false

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
drop_on integer

A list of status codes whereby the request should be considered to have failed but retries should not be attempted. This is useful for preventing wasted retries for requests that will never succeed. Note that with these status codes the request is dropped, but message that caused the request will not be dropped. Default: []

dump_request_log_level string

EXPERIMENTAL: Optionally set a level at which the request and response payload of each request made will be logged. Default:

extract_headers object

Specify which response headers should be added to resulting synchronous response messages as metadata. Header keys are lowercased before matching, so ensure that your patterns target lowercased versions of the header keys that you expect. This field is not applicable unless propagate_response is set to true.

2 nested properties
include_patterns string[]

Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []

Examples: [".*"], ["_timestamp_unix$"]
include_prefixes string[]

Provide a list of explicit metadata key prefixes to match against. Default: []

Examples: ["foo_","bar_"], ["kafka_"], ["content-"]
headers object

A map of headers to add to the request. Default: map[]

Examples: {"Content-Type":"application/octet-stream","traceparent":"${! tracing_span().traceparent }"}
jwt object

BETA: Allows you to specify JWT authentication.

5 nested properties
claims object

A value used to identify the claims that issued the JWT. Default: map[]

enabled boolean

Whether to use JWT authentication in requests. Default: false

headers object

Add optional key/value headers to the JWT. Default: map[]

private_key_file string

A file with the PEM encoded via PKCS1 or PKCS8 as private key. Default:

signing_method string

A method used to sign the token such as RS256, RS384, RS512 or EdDSA. Default:

max_in_flight integer

The maximum number of parallel message batches to have in flight at any given time. Default: 64

max_retry_backoff string

The maximum period to wait between failed requests. Default: 300s

metadata object

Specify optional matching rules to determine which metadata keys should be added to the HTTP request as headers.

2 nested properties
include_patterns string[]

Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []

Examples: [".*"], ["_timestamp_unix$"]
include_prefixes string[]

Provide a list of explicit metadata key prefixes to match against. Default: []

Examples: ["foo_","bar_"], ["kafka_"], ["content-"]
multipart object[]

EXPERIMENTAL: Create explicit multipart HTTP requests by specifying an array of parts to add to the request, each part specified consists of content headers and a data field that can be populated dynamically. If this field is populated it will override the default request creation behaviour. Default: []

oauth object

Allows you to specify open authentication via OAuth version 1.

5 nested properties
access_token string

A value used to gain access to the protected resources on behalf of the user. Default:

access_token_secret string

A secret provided in order to establish ownership of a given access token. Default:

consumer_key string

A value used to identify the client to the service provider. Default:

consumer_secret string

A secret used to establish ownership of the consumer key. Default:

enabled boolean

Whether to use OAuth version 1 in requests. Default: false

oauth2 object

Allows you to specify open authentication via OAuth version 2 using the client credentials token flow.

6 nested properties
client_key string

A value used to identify the client to the token provider. Default:

client_secret string

A secret used to establish ownership of the client key. Default:

enabled boolean

Whether to use OAuth version 2 in requests. Default: false

endpoint_params object

A list of optional endpoint parameters, values should be arrays of strings. Default: map[]

Examples: {"bar":["woof"],"foo":["meow","quack"]}
scopes string[]

A list of optional requested permissions. Default: []

token_url string

The URL of the token provider. Default:

propagate_response boolean

Whether responses from the server should be propagated back to the input. Default: false

proxy_url string

An optional HTTP proxy URL.

rate_limit string

An optional rate limit to throttle requests by.

retries integer

The maximum number of retry attempts to make. Default: 3

retry_period string

The base period to wait between failed requests. Default: 1s

successful_on integer

A list of status codes whereby the attempt should be considered successful, this is useful for dropping requests that return non-2XX codes indicating that the message has been dealt with, such as a 303 See Other or a 409 Conflict. All 2XX codes are considered successful unless they are present within backoff_on or drop_on, regardless of this field. Default: []

timeout string

A static timeout to apply to requests. Default: 5s

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

transport object

Custom transport options.

6 nested properties
dial_context object

Settings for the dialer used to create new connections.

expect_continue_timeout string

Time to wait for a server's first response headers after sending request headers when 'Expect: 100-continue' is used. Zero means send body immediately. Default: 1s

force_http2 boolean

If true, the transport will attempt to use HTTP/2. Default: true

idle_connection_timeout string

Maximum time an idle keep-alive connection remains open before closing itself. Default: 90s

max_idle_connections integer

Maximum number of idle keep-alive connections. Zero = unlimited. Default: 100

tls_handshake_timeout string

Maximum time allowed for TLS handshake to complete. Default: 10s

url string

The URL to connect to.

verb string

A verb to connect with Default: POST

Examples: "POST", "GET", "DELETE"
http_server object
15 nested properties
address string

An alternative address to host from. If left empty the service wide address is used. Default:

allowed_verbs string[]

An array of verbs that are allowed for the path and stream_path HTTP endpoint. Default: [GET]

cert_file string

Enable TLS by specifying a certificate and key file. Only valid with a custom address. Default:

cors object

Adds Cross-Origin Resource Sharing headers. Only valid with a custom address.

4 nested properties
allowed_headers string[]

Appends additional headers to the list of default allowed headers: Accept, Accept-Language, Content-Language & Origin. These default headers are therefore always allowed. Default: []

allowed_methods string[]

Used to explicitly set allowed methods in the Access-Control-Allow-Methods header. Default: [GET HEAD POST PUT PATCH DELETE]

allowed_origins string[]

An explicit list of origins that are allowed for CORS requests. Default: []

enabled boolean

Whether to allow CORS requests. Default: false

heartbeat string

The time to wait before sending a heartbeat message. Default: 0s

key_file string

Enable TLS by specifying a certificate and key file. Only valid with a custom address. Default:

path string

The path from which discrete messages can be consumed. Default: /get

ping_period string

Send pings to client with this period. Must be less than pong wait. Default: 54s

pong_wait string

The time allowed to read the next pong message from the client. Default: 60s

stream_format string

The format of the stream endpoint. raw_bytes delivers messages directly with newlines between batches, while event_source formats according to Server-Sent Events (SSE) specification with data: prefixes, compatible with EventSource API. Default: raw_bytes

stream_path string

The path from which a continuous stream of messages can be consumed. Default: /get/stream

timeout string

The maximum time to wait before a blocking, inactive connection is dropped (only applies to the path endpoint). Default: 5s

write_wait string

The time allowed to write a message to the websocket. Default: 10s

ws_message_type string

Type of websocket message Default: binary

ws_path string

The path from which websocket connections can be established. Default: /get/ws

inproc string

Default:

kafka object
24 nested properties
ack_replicas boolean

Ensure that messages have been copied across all replicas before acknowledging receipt. Default: false

addresses string[]

A list of broker addresses to connect to. If an item of the list contains commas it will be expanded into multiple addresses.

Examples: ["localhost:9092"], ["localhost:9041,localhost:9042"], ["localhost:9041","localhost:9042"]
backoff object

Control time intervals between retry attempts.

3 nested properties
initial_interval string

The initial period to wait between retry attempts. Default: 3s

Examples: "50ms", "1s"
max_elapsed_time string

The maximum overall period of time to spend on retry attempts before the request is aborted. Setting this value to a zeroed duration (such as 0s) will result in unbounded retries. Default: 30s

Examples: "1m", "1h"
max_interval string

The maximum period to wait between retry attempts Default: 10s

Examples: "5s", "1m"
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
client_id string

An identifier for the client connection. Default: bento

compression string

The compression algorithm to use. Default: none

custom_topic_creation object

If enabled, topics will be created with the specified number of partitions and replication factor if they do not already exist.

3 nested properties
enabled boolean

Whether to enable custom topic creation. Default: false

partitions integer

The number of partitions to create for new topics. Leave at -1 to use the broker configured default. Must be >= 1. Default: -1

replication_factor integer

The replication factor to use for new topics. Leave at -1 to use the broker configured default. Must be an odd number, and less then or equal to the number of brokers. Default: -1

idempotent_write boolean

Enable the idempotent write producer option. This requires the IDEMPOTENT_WRITE permission on CLUSTER and can be disabled if this permission is not available. Default: false

inject_tracing_map string

EXPERIMENTAL: A Bloblang mapping used to inject an object containing tracing propagation information into outbound messages. The specification of the injected fields will match the format used by the service wide tracer.

Examples: "meta = @.assign(this)", "root.meta.span = this"
key string

The key to publish messages with. Default:

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

max_msg_bytes integer

The maximum size in bytes of messages sent to the target topic. Default: 1000000

max_retries integer

The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0

metadata object

Specify criteria for which metadata values are sent with messages as headers.

1 nested properties
exclude_prefixes string[]

Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []

partition string

The manually-specified partition to publish messages to, relevant only when the field partitioner is set to manual. Must be able to parse as a 32-bit integer. Default:

partitioner string

The partitioning algorithm to use. Default: fnv1a_hash

rack_id string

A rack identifier for this client. Default:

retry_as_batch boolean

When enabled forces an entire batch of messages to be retried if any individual message fails on a send, otherwise only the individual messages that failed are retried. Disabling this helps to reduce message duplicates during intermittent errors, but also makes it impossible to guarantee strict ordering of messages. Default: false

sasl object

Enables SASL authentication.

7 nested properties
access_token string

A static OAUTHBEARER access token Default:

aws object

Contains AWS specific fields for when the mechanism is set to AWS_MSK_IAM.

mechanism string

The SASL authentication mechanism, if left empty SASL authentication is not used. Default: none

password string

A PLAIN password. It is recommended that you use environment variables to populate this field. Default:

Examples: "${PASSWORD}"
token_cache string

Instead of using a static access_token allows you to query a cache resource to fetch OAUTHBEARER tokens from Default:

token_key string

Required when using a token_cache, the key to query the cache with for tokens. Default:

user string

A PLAIN username. It is recommended that you use environment variables to populate this field. Default:

Examples: "${USER}"
static_headers object

An optional map of static headers that should be added to messages in addition to metadata.

Examples: {"first-static-header":"value-1","second-static-header":"value-2"}
target_version string

The version of the Kafka protocol to use. This limits the capabilities used by the client and should ideally match the version of your brokers. Defaults to the oldest supported stable version.

Examples: "2.1.0", "3.1.0"
timeout string

The maximum period of time to wait for message sends before abandoning the request and retrying. Default: 5s

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

topic string

The topic to publish messages to.

kafka_franz object
19 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
client_id string

An identifier for the client connection. Default: bento

compression string

Optionally set an explicit compression type. The default preference is to use snappy when the broker supports it, and fall back to none if not.

idempotent_write boolean

Enable the idempotent write producer option. This requires the IDEMPOTENT_WRITE permission on CLUSTER and can be disabled if this permission is not available. Default: true

key string

An optional key to populate for each message.

max_buffered_records integer

Sets the max amount of records the client will buffer, blocking produces until records are finished if this limit is reached. This overrides the franz-kafka default of 10,000. Default: 10000

max_in_flight integer

The maximum number of batches to be sending in parallel at any given time. Default: 10

max_message_bytes string

The maximum space in bytes than an individual message may take, messages larger than this value will be rejected. This field corresponds to Kafka's max.message.bytes. Default: 1MB

Examples: "100MB", "50mib"
metadata object

Determine which (if any) metadata values should be added to messages as headers.

2 nested properties
include_patterns string[]

Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []

Examples: [".*"], ["_timestamp_unix$"]
include_prefixes string[]

Provide a list of explicit metadata key prefixes to match against. Default: []

Examples: ["foo_","bar_"], ["kafka_"], ["content-"]
metadata_max_age string

This sets the maximum age for the client's cached metadata, to allow detection of new topics, partitions, etc. Default: 5m

partition string

An optional explicit partition to set for each message. This field is only relevant when the partitioner is set to manual. The provided interpolation string must be a valid integer.

Examples: "${! metadata("partition") }"
partitioner string

Override the default murmur2 hashing partitioner.

rack_id string

A rack identifier for this client. Default:

sasl object[]

Specify one or more methods of SASL authentication. SASL is tried in order; if the broker supports the first mechanism, all connections will use that mechanism. If the first mechanism fails, the client will pick the first supported mechanism. If the broker does not support any client mechanisms, connections will fail.

Examples: [{"mechanism":"SCRAM-SHA-512","password":"bar","username":"foo"}]
seed_brokers string[]

A list of broker addresses to connect to in order to establish connections. If an item of the list contains commas it will be expanded into multiple addresses.

Examples: ["localhost:9092"], ["foo:9092","bar:9092"], ["foo:9092,bar:9092"]
timeout string

The maximum period of time to wait for message sends before abandoning the request and retrying Default: 10s

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

topic string

A topic to write messages to.

uniform_bytes_options object

Sets partitioner options when partitioner is of type uniform_bytes. These values will otherwise be ignored. Note, that future versions will likely see this approach reworked.

3 nested properties
adaptive boolean

Sets a slight imbalance so that the partitioner can produce more to brokers that are less loaded. Default: false

bytes string

The number of bytes the partitioner will return the same partition for. Default: 1MB

keys boolean

If true, uses standard hashing based on record key for records with non-nil keys. Default: false

mongodb object
15 nested properties
backoff object

Control time intervals between retry attempts.

3 nested properties
initial_interval string

The initial period to wait between retry attempts. Default: 1s

max_elapsed_time string

The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s

max_interval string

The maximum period to wait between retry attempts. Default: 5s

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
collection string

The name of the target collection.

database string

The name of the target MongoDB database.

document_map string

A bloblang map representing a document to store within MongoDB, expressed as extended JSON in canonical form. The document map is required for the operations insert-one, replace-one and update-one. Default:

Examples: "root.a = this.foo root.b = this.bar"
filter_map string

A bloblang map representing a filter for a MongoDB command, expressed as extended JSON in canonical form. The filter map is required for all operations except insert-one. It is used to find the document(s) for the operation. For example in a delete-one case, the filter map should have the fields required to locate the document to delete. Default:

Examples: "root.a = this.foo root.b = this.bar"
hint_map string

A bloblang map representing the hint for the MongoDB command, expressed as extended JSON in canonical form. This map is optional and is used with all operations except insert-one. It is used to improve performance of finding the documents in the mongodb. Default:

Examples: "root.a = this.foo root.b = this.bar"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

max_retries integer

The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 3

operation string

The mongodb operation to perform. Default: update-one

password string

The password to connect to the database. Default:

upsert boolean

The upsert setting is optional and only applies for update-one and replace-one operations. If the filter specified in filter_map matches, the document is updated or replaced accordingly, otherwise it is created. Default: false

url string

The URL of the target MongoDB server.

Examples: "mongodb://localhost:27017"
username string

The username to connect to the database. Default:

write_concern object

The write concern settings for the mongo connection.

3 nested properties
j boolean

J requests acknowledgement from MongoDB that write operations are written to the journal. Default: false

w string

W requests acknowledgement that write operations propagate to the specified number of mongodb instances. Default:

w_timeout string

The write concern timeout. Default:

mqtt object
15 nested properties
client_id string

An identifier for the client connection. Default:

connect_timeout string

The maximum amount of time to wait in order to establish a connection before the attempt is abandoned. Default: 30s

Examples: "1s", "500ms"
dynamic_client_id_suffix string

Append a dynamically generated suffix to the specified client_id on each run of the pipeline. This can be useful when clustering Bento producers.

keepalive integer

Max seconds of inactivity before a keepalive message is sent. Default: 30

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

password string

A password to connect with. Default:

qos integer

The QoS value to set for each message. Has options 0, 1, 2. Default: 1

retained boolean

Set message as retained on the topic. Default: false

retained_interpolated string

Override the value of retained with an interpolable value, this allows it to be dynamically set based on message contents. The value must resolve to either true or false.

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

topic string

The topic to publish messages to.

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["tcp://localhost:1883"]
user string

A username to connect with. Default:

will object

Set last will message in case of Bento failure

5 nested properties
enabled boolean

Whether to enable last will messages. Default: false

payload string

Set payload for last will message. Default:

qos integer

Set QoS for last will message. Valid values are: 0, 1, 2. Default: 0

retained boolean

Set retained for last will message. Default: false

topic string

Set topic for last will message. Default:

write_timeout string

The maximum amount of time to wait to write data before the attempt is abandoned. Default: 3s

Examples: "1s", "500ms"
nanomsg object
5 nested properties
bind boolean

Whether the URLs listed should be bind (otherwise they are connected to). Default: false

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

poll_timeout string

The maximum period of time to wait for a message to send before the request is abandoned and reattempted. Default: 5s

socket_type string

The socket type to send with. Default: PUSH

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

nats object
8 nested properties
auth object

Optional configuration of NATS authentication parameters.

4 nested properties
nkey_file string

An optional file containing a NKey seed.

Examples: "./seed.nk"
user_credentials_file string

An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.

Examples: "./user.creds"
user_jwt string

An optional plain text user JWT (given along with the corresponding user NKey Seed).

user_nkey_seed string

An optional plain text user NKey Seed (given along with the corresponding user JWT).

headers object

Explicit message headers to add to messages. Default: map[]

Examples: {"Content-Type":"application/json","Timestamp":"${!metadata(\"Timestamp\").string()}"}
inject_tracing_map string

EXPERIMENTAL: A Bloblang mapping used to inject an object containing tracing propagation information into outbound messages. The specification of the injected fields will match the format used by the service wide tracer.

Examples: "meta = @.assign(this)", "root.meta.span = this"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

metadata object

Determine which (if any) metadata values should be added to messages as headers.

2 nested properties
include_patterns string[]

Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []

Examples: [".*"], ["_timestamp_unix$"]
include_prefixes string[]

Provide a list of explicit metadata key prefixes to match against. Default: []

Examples: ["foo_","bar_"], ["kafka_"], ["content-"]
subject string

The subject to publish to.

Examples: "foo.bar.baz"
tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["nats://127.0.0.1:4222"], ["nats://username:[email protected]:4222"]
nats_jetstream object
8 nested properties
auth object

Optional configuration of NATS authentication parameters.

4 nested properties
nkey_file string

An optional file containing a NKey seed.

Examples: "./seed.nk"
user_credentials_file string

An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.

Examples: "./user.creds"
user_jwt string

An optional plain text user JWT (given along with the corresponding user NKey Seed).

user_nkey_seed string

An optional plain text user NKey Seed (given along with the corresponding user JWT).

headers object

Explicit message headers to add to messages. Default: map[]

Examples: {"Content-Type":"application/json","Timestamp":"${!metadata(\"Timestamp\").string()}"}
inject_tracing_map string

EXPERIMENTAL: A Bloblang mapping used to inject an object containing tracing propagation information into outbound messages. The specification of the injected fields will match the format used by the service wide tracer.

Examples: "meta = @.assign(this)", "root.meta.span = this"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 1024

metadata object

Determine which (if any) metadata values should be added to messages as headers.

2 nested properties
include_patterns string[]

Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []

Examples: [".*"], ["_timestamp_unix$"]
include_prefixes string[]

Provide a list of explicit metadata key prefixes to match against. Default: []

Examples: ["foo_","bar_"], ["kafka_"], ["content-"]
subject string

A subject to write to.

Examples: "foo.bar.baz", "${! metadata("kafka_topic") }", "foo.${! json("meta.type") }"
tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["nats://127.0.0.1:4222"], ["nats://username:[email protected]:4222"]
nats_kv object
6 nested properties
auth object

Optional configuration of NATS authentication parameters.

4 nested properties
nkey_file string

An optional file containing a NKey seed.

Examples: "./seed.nk"
user_credentials_file string

An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.

Examples: "./user.creds"
user_jwt string

An optional plain text user JWT (given along with the corresponding user NKey Seed).

user_nkey_seed string

An optional plain text user NKey Seed (given along with the corresponding user JWT).

bucket string

The name of the KV bucket.

Examples: "my_kv_bucket"
key string

The key for each message.

Examples: "foo", "foo.bar.baz", "foo.${! json("meta.type") }"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 1024

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["nats://127.0.0.1:4222"], ["nats://username:[email protected]:4222"]
nats_object_store object
6 nested properties
auth object

Optional configuration of NATS authentication parameters.

4 nested properties
nkey_file string

An optional file containing a NKey seed.

Examples: "./seed.nk"
user_credentials_file string

An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.

Examples: "./user.creds"
user_jwt string

An optional plain text user JWT (given along with the corresponding user NKey Seed).

user_nkey_seed string

An optional plain text user NKey Seed (given along with the corresponding user JWT).

bucket string

The name of the object store bucket.

Examples: "my_bucket"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

object_name string

The object name for each message.

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["nats://127.0.0.1:4222"], ["nats://username:[email protected]:4222"]
nats_stream object
8 nested properties
auth object

Optional configuration of NATS authentication parameters.

4 nested properties
nkey_file string

An optional file containing a NKey seed.

Examples: "./seed.nk"
user_credentials_file string

An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.

Examples: "./user.creds"
user_jwt string

An optional plain text user JWT (given along with the corresponding user NKey Seed).

user_nkey_seed string

An optional plain text user NKey Seed (given along with the corresponding user JWT).

client_id string

The client ID to connect with. Default:

cluster_id string

The cluster ID to publish to.

inject_tracing_map string

EXPERIMENTAL: A Bloblang mapping used to inject an object containing tracing propagation information into outbound messages. The specification of the injected fields will match the format used by the service wide tracer.

Examples: "meta = @.assign(this)", "root.meta.span = this"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

subject string

The subject to publish to.

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["nats://127.0.0.1:4222"], ["nats://username:[email protected]:4222"]
nsq object
6 nested properties
auth_secret string

An optional secret for NSQ authentication (requires nsqd 0.2.29+).

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

nsqd_tcp_address string

The address of the target NSQD server.

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

topic string

The topic to publish to.

user_agent string

A user agent to assume when connecting.

opensearch object
11 nested properties
action string

The action to take on the document. This field must resolve to one of the following action types: create, index, update or delete. To write to a data stream, the action must be set to create.

aws object

Enables and customises connectivity to Amazon Elastic Service.

4 nested properties
credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

enabled boolean

Whether to connect to Amazon Elastic Service. Default: false

endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

region string

The AWS region to target. Default:

basic_auth object

Allows you to specify basic authentication.

3 nested properties
enabled boolean

Whether to use basic authentication in requests. Default: false

password string

A password to authenticate with. Default:

username string

A username to authenticate as. Default:

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
id string

The ID for indexed messages. Interpolation should be used in order to create a unique ID for each message.

Examples: "${!counter()}-${!timestamp_unix()}"
index string

The index to place messages.

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

pipeline string

An optional pipeline id to preprocess incoming documents. Default:

routing string

The routing key to use for the document. Default:

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["http://localhost:9200"]
pulsar object
7 nested properties
auth object

Optional configuration of Pulsar authentication methods.

2 nested properties
oauth2 object

Parameters for Pulsar OAuth2 authentication.

token object

Parameters for Pulsar Token authentication.

key string

The key to publish messages with. Default:

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

ordering_key string

The ordering key to publish messages with. Default:

tls object

Specify the path to a custom CA certificate to trust broker TLS service.

1 nested properties
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
topic string

The topic to publish to.

url string

A URL to connect to.

Examples: "pulsar://localhost:6650", "pulsar://pulsar.us-west.example.com:6650", "pulsar+ssl://pulsar.us-west.example.com:6651"
pusher object
9 nested properties
appId string

Pusher app id

batching object

maximum batch size is 10 (limit of the pusher library)

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
channel string

Pusher channel to publish to. Interpolation functions can also be used

Examples: "my_channel", "${!json("id")}"
cluster string

Pusher cluster

event string

Event to publish to

key string

Pusher key

max_in_flight integer

The maximum number of parallel message batches to have in flight at any given time. Default: 1

secret string

Pusher secret

secure boolean

Enable SSL encryption Default: true

questdb object
18 nested properties
address string

Address of the QuestDB server's HTTP port (excluding protocol)

Examples: "localhost:9000"
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
designated_timestamp_field string

Name of the designated timestamp field

designated_timestamp_unit string

Designated timestamp field units Default: auto

doubles string[]

Columns that should be double type, (int is default)

error_on_empty_messages boolean

Mark a message as errored if it is empty after field validation Default: false

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

password string

Password for HTTP basic auth

request_min_throughput integer

Minimum expected throughput in bytes per second for HTTP requests. If the throughput is lower than this value, the connection will time out. This is used to calculate an additional timeout on top of request_timeout. This is useful for large requests. You can set this value to 0 to disable this logic.

request_timeout string

The time to wait for a response from the server. This is in addition to the calculation derived from the request_min_throughput parameter.

retry_timeout string

The time to continue retrying after a failed HTTP request. The interval between retries is an exponential backoff starting at 10ms and doubling after each failed attempt up to a maximum of 1 second.

symbols string[]

Columns that should be the SYMBOL type (string values default to STRING)

table string

Destination table

Examples: "trades"
timestamp_string_fields string[]

String fields with textual timestamps

timestamp_string_format string

Timestamp format, used when parsing timestamp string fields. Specified in golang's time.Parse layout Default: Jan _2 15:04:05.000000Z0700

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

token string

Bearer token for HTTP auth (takes precedence over basic auth username & password)

username string

Username for HTTP basic auth

redis_hash object
9 nested properties
fields object

A map of key/value pairs to set as hash fields. Default: map[]

key string

The key for each message, function interpolations should be used to create a unique key per message.

Examples: "${! @.kafka_key )}", "${! this.doc.id }", "${! count("msgs") }"
kind string

Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple

master string

Name of the redis master when kind is failover Default:

Examples: "mymaster"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

tls object

Custom TLS settings can be used to override system defaults.

Troubleshooting

Some cloud hosted instances of Redis (such as Azure Cache) might need some hand holding in order to establish stable connections. Unfortunately, it is often the case that TLS issues will manifest as generic error messages such as "i/o timeout". If you're using TLS and are seeing connectivity problems consider setting enable_renegotiation to true, and ensuring that the server supports at least TLS version 1.2.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

The URL of the target Redis server. Database is optional and is supplied as the URL path.

Examples: "redis://:6397", "redis://localhost:6379", "redis://foousername:foopassword@redisplace:6379", "redis://:foopassword@redisplace:6379", "redis://localhost:6379/1", "redis://localhost:6379/1,redis://localhost:6380/1"
walk_json_object boolean

Whether to walk each message as a JSON object and add each key/value pair to the list of hash fields to set. Default: false

walk_metadata boolean

Whether all metadata fields of messages should be walked and added to the list of hash fields to set. Default: false

redis_list object
8 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
command string

The command used to push elements to the Redis list Default: rpush

key string

The key for each message, function interpolations can be optionally used to create a unique key per message.

Examples: "some_list", "${! @.kafka_key )}", "${! this.doc.id }", "${! count("msgs") }"
kind string

Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple

master string

Name of the redis master when kind is failover Default:

Examples: "mymaster"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

tls object

Custom TLS settings can be used to override system defaults.

Troubleshooting

Some cloud hosted instances of Redis (such as Azure Cache) might need some hand holding in order to establish stable connections. Unfortunately, it is often the case that TLS issues will manifest as generic error messages such as "i/o timeout". If you're using TLS and are seeing connectivity problems consider setting enable_renegotiation to true, and ensuring that the server supports at least TLS version 1.2.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

The URL of the target Redis server. Database is optional and is supplied as the URL path.

Examples: "redis://:6397", "redis://localhost:6379", "redis://foousername:foopassword@redisplace:6379", "redis://:foopassword@redisplace:6379", "redis://localhost:6379/1", "redis://localhost:6379/1,redis://localhost:6380/1"
redis_pubsub object
7 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
channel string

The channel to publish messages to.

kind string

Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple

master string

Name of the redis master when kind is failover Default:

Examples: "mymaster"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

tls object

Custom TLS settings can be used to override system defaults.

Troubleshooting

Some cloud hosted instances of Redis (such as Azure Cache) might need some hand holding in order to establish stable connections. Unfortunately, it is often the case that TLS issues will manifest as generic error messages such as "i/o timeout". If you're using TLS and are seeing connectivity problems consider setting enable_renegotiation to true, and ensuring that the server supports at least TLS version 1.2.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

The URL of the target Redis server. Database is optional and is supplied as the URL path.

Examples: "redis://:6397", "redis://localhost:6379", "redis://foousername:foopassword@redisplace:6379", "redis://:foopassword@redisplace:6379", "redis://localhost:6379/1", "redis://localhost:6379/1,redis://localhost:6380/1"
redis_streams object
10 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
body_key string

A key to set the raw body of the message to. Default: body

kind string

Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple

master string

Name of the redis master when kind is failover Default:

Examples: "mymaster"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

max_length integer

When greater than zero enforces a rough cap on the length of the target stream. Default: 0

metadata object

Specify criteria for which metadata values are included in the message body.

1 nested properties
exclude_prefixes string[]

Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []

stream string

The stream to add messages to.

tls object

Custom TLS settings can be used to override system defaults.

Troubleshooting

Some cloud hosted instances of Redis (such as Azure Cache) might need some hand holding in order to establish stable connections. Unfortunately, it is often the case that TLS issues will manifest as generic error messages such as "i/o timeout". If you're using TLS and are seeing connectivity problems consider setting enable_renegotiation to true, and ensuring that the server supports at least TLS version 1.2.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

The URL of the target Redis server. Database is optional and is supplied as the URL path.

Examples: "redis://:6397", "redis://localhost:6379", "redis://foousername:foopassword@redisplace:6379", "redis://:foopassword@redisplace:6379", "redis://localhost:6379/1", "redis://localhost:6379/1,redis://localhost:6380/1"
reject string

Default:

reject_errored object
resource string

Default:

retry object
3 nested properties
backoff object

Control time intervals between retry attempts.

3 nested properties
initial_interval string

The initial period to wait between retry attempts. Default: 500ms

max_elapsed_time string

The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 0s

max_interval string

The maximum period to wait between retry attempts. Default: 3s

max_retries integer

The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0

output object

A child output.

s2 object
6 nested properties
access_token string

Access token for S2 account

basin string

Basin name

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
fencing_token string

Enforce a fencing token (base64 encoded)

Examples: "aGVsbG8gczI="
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

stream string

Stream name

sftp object
5 nested properties
address string

The address of the server to connect to.

codec string

The way in which the bytes of messages should be written out into the output data stream. It's possible to write lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Default: all-bytes

Examples: "lines", "delim: ", "delim:foobar"
credentials object

The credentials to use to log into the target server.

4 nested properties
password string

The password for the username to connect to the SFTP server. Default:

private_key_file string

The private key for the username to connect to the SFTP server. Default:

private_key_pass string

Optional passphrase for private key. Default:

username string

The username to connect to the SFTP server. Default:

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

path string

The file to save the messages to on the server.

slack_webhook object
3 nested properties
timeout string

The maximum time to wait before abandoning a request (and trying again). Default: 5s

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

webhook string

Slack webhook URL to post messages

Examples: "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
snowflake_put object
22 nested properties
account string

Account name, which is the same as the Account Identifier as described here. However, when using an Account Locator, the Account Identifier is formatted as <account_locator>.<region_id>.<cloud> and this field needs to be populated using the <account_locator> part.

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
client_session_keep_alive boolean

Enable Snowflake keepalive mechanism to prevent the client session from expiring after 4 hours (error 390114). Default: false

cloud string

Optional cloud platform field which needs to be populated when using an Account Locator and it must be set to the <cloud> part of the Account Identifier (<account_locator>.<region_id>.<cloud>).

Examples: "aws", "gcp", "azure"
compression string

Compression type. Default: AUTO

database string

Database.

file_extension string

Stage file extension. Will be derived from the configured compression if not set or empty. Default:

Examples: "csv", "parquet"
file_name string

Stage file name. Will be equal to the Request ID if not set or empty. Default:

max_in_flight integer

The maximum number of parallel message batches to have in flight at any given time. Default: 1

password string

An optional password.

path string

Stage path. Default:

private_key_file string

The path to a file containing the private SSH key.

private_key_pass string

An optional private SSH key passphrase.

region string

Optional region field which needs to be populated when using an Account Locator and it must be set to the <region_id> part of the Account Identifier (<account_locator>.<region_id>.<cloud>).

Examples: "us-west-2"
request_id string

Request ID. Will be assigned a random UUID (v4) string if not set or empty. Default:

role string

Role.

schema string

Schema.

snowpipe string

An optional Snowpipe name. Use the <snowpipe> part from <database>.<schema>.<snowpipe>.

stage string

Stage name. Use either one of the supported stage types.

upload_parallel_threads integer

Specifies the number of threads to use for uploading files. Default: 4

user string

Username.

warehouse string

Warehouse.

socket object
3 nested properties
address string

The address to connect to.

Examples: "/tmp/bento.sock", "127.0.0.1:6000"
codec string

The way in which the bytes of messages should be written out into the output data stream. It's possible to write lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Default: lines

Examples: "lines", "delim: ", "delim:foobar"
network string

A network type to connect as.

splunk_hec object
13 nested properties
batching_byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Splunk Cloud recommends limiting content length of HEC payload to 1 MB. Default: 1000000

batching_count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 100

batching_period string

A period in which an incomplete batch should be flushed regardless of its size. Default: 30s

event_host string

Set the host value to assign to the event data. Overrides existing host field if present. Default:

event_index string

Set the index value to assign to the event data. Overrides existing index field if present. Default:

event_source string

Set the source value to assign to the event data. Overrides existing source field if present. Default:

event_sourcetype string

Set the sourcetype value to assign to the event data. Overrides existing sourcetype field if present. Default:

gzip boolean

Enable gzip compression Default: false

max_in_flight integer

The maximum number of parallel message batches to have in flight at any given time. Default: 64

rate_limit string

An optional rate limit resource to restrict API requests with. Default:

skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

token string

A bot token used for authentication.

url string

Full HTTP Endpoint Collector (HEC) URL, ie. https://foobar.splunkcloud.com/services/collector/event

sql object
6 nested properties
args_mapping string

An optional Bloblang mapping which should evaluate to an array of values matching in size to the number of placeholder arguments in the field query.

Examples: "root = [ this.cat.meow, this.doc.woofs[0] ]", "root = [ metadata("user.id").string() ]"
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
data_source_name string

Data source name.

driver string

A database driver to use.

max_in_flight integer

The maximum number of inserts to run in parallel. Default: 64

query string

The query to execute. The style of placeholder to use depends on the driver, some drivers require question marks (?) whereas others expect incrementing dollar signs ($1, $2, and so on) or colons (:1, :2 and so on). The style to use is outlined in this table:

DriverPlaceholder Style
clickhouseDollar sign
mysqlQuestion mark
postgresDollar sign
mssqlQuestion mark
sqliteQuestion mark
oracleColon
snowflakeQuestion mark
spannerQuestion mark
trinoQuestion mark
gocosmosColon
Examples: "INSERT INTO footable (foo, bar, baz) VALUES (?, ?, ?);"
sql_insert object
22 nested properties
args_mapping string

A Bloblang mapping which should evaluate to an array of values matching in size to the number of columns specified.

Examples: "root = [ this.cat.meow, this.doc.woofs[0] ]", "root = [ metadata("user.id").string() ]"
azure object

Optional Fields that can be set to use Azure based authentication for Azure Postgres SQL

2 nested properties
entra_enabled boolean

An optional field used to generate an entra token to connect to 'Azure Database for PostgreSQL flexible server', This will create a new connection string with the host, user and database from the DSN field - you may need to URL encode the dsn! The Default Azure Credential Chain is used from the Azure SDK. Default: false

token_request_options object
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
columns string[]

A list of columns to insert.

Examples: ["foo","bar","baz"]
conn_max_idle integer

An optional maximum number of connections in the idle connection pool. If conn_max_open is greater than 0 but less than the new conn_max_idle, then the new conn_max_idle will be reduced to match the conn_max_open limit. If value <= 0, no idle connections are retained. The default max idle connections is currently 2. This may change in a future release. Default: 2

conn_max_idle_time string

An optional maximum amount of time a connection may be idle. Expired connections may be closed lazily before reuse. If value <= 0, connections are not closed due to a connections idle time.

conn_max_life_time string

An optional maximum amount of time a connection may be reused. Expired connections may be closed lazily before reuse. If value <= 0, connections are not closed due to a connections age.

conn_max_open integer

An optional maximum number of open connections to the database. If conn_max_idle is greater than 0 and the new conn_max_open is less than conn_max_idle, then conn_max_idle will be reduced to match the new conn_max_open limit. If value <= 0, then there is no limit on the number of open connections. The default is 0 (unlimited).

credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

driver string

A database driver to use.

dsn string

A Data Source Name to identify the target database.

Drivers

The following is a list of supported drivers, their placeholder style, and their respective DSN formats:

DriverData Source Name Format
clickhouseclickhouse://[username[:password]@][netloc][:port]/dbname[?param1=value1&...&paramN=valueN]
mysql[username[:password]@][protocol[(address)]]/dbname[?param1=value1&...&paramN=valueN]
postgrespostgres://[user[:password]@][netloc][:port][/dbname][?param1=value1&...]
mssqlsqlserver://[user[:password]@][netloc][:port][?database=dbname&param1=value1&...]
sqlitefile:/path/to/filename.db[?param&=value1&...]
oracleoracle://[username[:password]@][netloc][:port]/service_name?server=server2&server=server3
snowflakeusername[:password]@account_identifier/dbname/schemaname[?param1=value&...&paramN=valueN]
spannerprojects/[project]/instances/[instance]/databases/dbname
trinohttp[s]://user[:pass]@host[:port][?parameters]
gocosmosAccountEndpoint=<cosmosdb-endpoint>;AccountKey=<cosmosdb-account-key>[;TimeoutMs=<timeout-in-ms>][;Version=<cosmosdb-api-version>][;DefaultDb/Db=<db-name>][;AutoId=<true/false>][;InsecureSkipVerify=<true/false>]

Please note that the postgres driver enforces SSL by default, you can override this with the parameter sslmode=disable if required.

The snowflake driver supports multiple DSN formats. Please consult the docs for more details. For key pair authentication, the DSN has the following format: <snowflake_user>@<snowflake_account>/<db_name>/<schema_name>?warehouse=<warehouse>&role=<role>&authenticator=snowflake_jwt&privateKey=<base64_url_encoded_private_key>, where the value for the privateKey parameter can be constructed from an unencrypted RSA private key file rsa_key.p8 using openssl enc -d -base64 -in rsa_key.p8 | basenc --base64url -w0 (you can use gbasenc insted of basenc on OSX if you install coreutils via Homebrew). If you have a password-encrypted private key, you can decrypt it using openssl pkcs8 -in rsa_key_encrypted.p8 -out rsa_key.p8. Also, make sure fields such as the username are URL-encoded.

The gocosmos driver is still experimental, but it has support for hierarchical partition keys as well as cross-partition queries. Please refer to the SQL notes for details.

Examples: "clickhouse://username:password@host1:9000,host2:9000/database?dial_timeout=200ms&max_execution_time=60", "foouser:foopassword@tcp(localhost:3306)/foodb", "postgres://foouser:foopass@localhost:5432/foodb?sslmode=disable", "oracle://foouser:foopass@localhost:1521/service_name"
endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

iam_enabled boolean

An optional field used to generate an IAM authentication token to connect to an Amazon Relational Database (RDS) DB instance. This will overwrite the Password in the DSN with the generated token only if the drivers are mysql or postgres. Default: false

init_files string[]

An optional list of file paths containing SQL statements to execute immediately upon the first connection to the target database. This is a useful way to initialise tables before processing data. Glob patterns are supported, including super globs (double star).

Care should be taken to ensure that the statements are idempotent, and therefore would not cause issues when run multiple times after service restarts. If both init_statement and init_files are specified the init_statement is executed after the init_files.

If a statement fails for any reason a warning log will be emitted but the operation of this component will not be stopped.

Examples: ["./init/*.sql"], ["./foo.sql","./bar.sql"]
init_statement string

An optional SQL statement to execute immediately upon the first connection to the target database. This is a useful way to initialise tables before processing data. Care should be taken to ensure that the statement is idempotent, and therefore would not cause issues when run multiple times after service restarts.

If both init_statement and init_files are specified the init_statement is executed after the init_files.

If the statement fails for any reason a warning log will be emitted but the operation of this component will not be stopped.

Examples: " CREATE TABLE IF NOT EXISTS some_table ( foo varchar(50) not null, bar integer, baz varchar(50), primary key (foo) ) WITHOUT ROWID; "
init_verify_conn boolean

Whether to verify the database connection on startup by performing a simple ping, by default this is disabled. Default: false

max_in_flight integer

The maximum number of inserts to run in parallel. Default: 64

prefix string

An optional prefix to prepend to the insert query (before INSERT).

region string

The AWS region to target. Default:

secret_name string

An optional field that can be used to get the Username + Password from AWS Secrets Manager. This will overwrite the Username + Password in the DSN with the values from the Secret only if the driver is set to postgres.

suffix string

An optional suffix to append to the insert query.

Examples: "ON CONFLICT (name) DO NOTHING"
table string

The table to insert to.

Examples: "foo"
sql_raw object
20 nested properties
args_mapping string

An optional Bloblang mapping which should evaluate to an array of values matching in size to the number of placeholder arguments in the field query.

Examples: "root = [ this.cat.meow, this.doc.woofs[0] ]", "root = [ metadata("user.id").string() ]"
azure object

Optional Fields that can be set to use Azure based authentication for Azure Postgres SQL

2 nested properties
entra_enabled boolean

An optional field used to generate an entra token to connect to 'Azure Database for PostgreSQL flexible server', This will create a new connection string with the host, user and database from the DSN field - you may need to URL encode the dsn! The Default Azure Credential Chain is used from the Azure SDK. Default: false

token_request_options object
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
conn_max_idle integer

An optional maximum number of connections in the idle connection pool. If conn_max_open is greater than 0 but less than the new conn_max_idle, then the new conn_max_idle will be reduced to match the conn_max_open limit. If value <= 0, no idle connections are retained. The default max idle connections is currently 2. This may change in a future release. Default: 2

conn_max_idle_time string

An optional maximum amount of time a connection may be idle. Expired connections may be closed lazily before reuse. If value <= 0, connections are not closed due to a connections idle time.

conn_max_life_time string

An optional maximum amount of time a connection may be reused. Expired connections may be closed lazily before reuse. If value <= 0, connections are not closed due to a connections age.

conn_max_open integer

An optional maximum number of open connections to the database. If conn_max_idle is greater than 0 and the new conn_max_open is less than conn_max_idle, then conn_max_idle will be reduced to match the new conn_max_open limit. If value <= 0, then there is no limit on the number of open connections. The default is 0 (unlimited).

credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

driver string

A database driver to use.

dsn string

A Data Source Name to identify the target database.

Drivers

The following is a list of supported drivers, their placeholder style, and their respective DSN formats:

DriverData Source Name Format
clickhouseclickhouse://[username[:password]@][netloc][:port]/dbname[?param1=value1&...&paramN=valueN]
mysql[username[:password]@][protocol[(address)]]/dbname[?param1=value1&...&paramN=valueN]
postgrespostgres://[user[:password]@][netloc][:port][/dbname][?param1=value1&...]
mssqlsqlserver://[user[:password]@][netloc][:port][?database=dbname&param1=value1&...]
sqlitefile:/path/to/filename.db[?param&=value1&...]
oracleoracle://[username[:password]@][netloc][:port]/service_name?server=server2&server=server3
snowflakeusername[:password]@account_identifier/dbname/schemaname[?param1=value&...&paramN=valueN]
spannerprojects/[project]/instances/[instance]/databases/dbname
trinohttp[s]://user[:pass]@host[:port][?parameters]
gocosmosAccountEndpoint=<cosmosdb-endpoint>;AccountKey=<cosmosdb-account-key>[;TimeoutMs=<timeout-in-ms>][;Version=<cosmosdb-api-version>][;DefaultDb/Db=<db-name>][;AutoId=<true/false>][;InsecureSkipVerify=<true/false>]

Please note that the postgres driver enforces SSL by default, you can override this with the parameter sslmode=disable if required.

The snowflake driver supports multiple DSN formats. Please consult the docs for more details. For key pair authentication, the DSN has the following format: <snowflake_user>@<snowflake_account>/<db_name>/<schema_name>?warehouse=<warehouse>&role=<role>&authenticator=snowflake_jwt&privateKey=<base64_url_encoded_private_key>, where the value for the privateKey parameter can be constructed from an unencrypted RSA private key file rsa_key.p8 using openssl enc -d -base64 -in rsa_key.p8 | basenc --base64url -w0 (you can use gbasenc insted of basenc on OSX if you install coreutils via Homebrew). If you have a password-encrypted private key, you can decrypt it using openssl pkcs8 -in rsa_key_encrypted.p8 -out rsa_key.p8. Also, make sure fields such as the username are URL-encoded.

The gocosmos driver is still experimental, but it has support for hierarchical partition keys as well as cross-partition queries. Please refer to the SQL notes for details.

Examples: "clickhouse://username:password@host1:9000,host2:9000/database?dial_timeout=200ms&max_execution_time=60", "foouser:foopassword@tcp(localhost:3306)/foodb", "postgres://foouser:foopass@localhost:5432/foodb?sslmode=disable", "oracle://foouser:foopass@localhost:1521/service_name"
endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

iam_enabled boolean

An optional field used to generate an IAM authentication token to connect to an Amazon Relational Database (RDS) DB instance. This will overwrite the Password in the DSN with the generated token only if the drivers are mysql or postgres. Default: false

init_files string[]

An optional list of file paths containing SQL statements to execute immediately upon the first connection to the target database. This is a useful way to initialise tables before processing data. Glob patterns are supported, including super globs (double star).

Care should be taken to ensure that the statements are idempotent, and therefore would not cause issues when run multiple times after service restarts. If both init_statement and init_files are specified the init_statement is executed after the init_files.

If a statement fails for any reason a warning log will be emitted but the operation of this component will not be stopped.

Examples: ["./init/*.sql"], ["./foo.sql","./bar.sql"]
init_statement string

An optional SQL statement to execute immediately upon the first connection to the target database. This is a useful way to initialise tables before processing data. Care should be taken to ensure that the statement is idempotent, and therefore would not cause issues when run multiple times after service restarts.

If both init_statement and init_files are specified the init_statement is executed after the init_files.

If the statement fails for any reason a warning log will be emitted but the operation of this component will not be stopped.

Examples: " CREATE TABLE IF NOT EXISTS some_table ( foo varchar(50) not null, bar integer, baz varchar(50), primary key (foo) ) WITHOUT ROWID; "
init_verify_conn boolean

Whether to verify the database connection on startup by performing a simple ping, by default this is disabled. Default: false

max_in_flight integer

The maximum number of inserts to run in parallel. Default: 64

query string

The query to execute. The style of placeholder to use depends on the driver, some drivers require question marks (?) whereas others expect incrementing dollar signs ($1, $2, and so on) or colons (:1, :2 and so on). The style to use is outlined in this table:

DriverPlaceholder Style
clickhouseDollar sign
mysqlQuestion mark
postgresDollar sign
mssqlQuestion mark
sqliteQuestion mark
oracleColon
snowflakeQuestion mark
spannerQuestion mark
trinoQuestion mark
gocosmosColon
Examples: "INSERT INTO footable (foo, bar, baz) VALUES (?, ?, ?);"
region string

The AWS region to target. Default:

secret_name string

An optional field that can be used to get the Username + Password from AWS Secrets Manager. This will overwrite the Username + Password in the DSN with the values from the Secret only if the driver is set to postgres.

unsafe_dynamic_query boolean

Whether to enable interpolation functions in the query. Great care should be made to ensure your queries are defended against injection attacks. Default: false

stdout object
1 nested properties
codec string

The way in which the bytes of messages should be written out into the output data stream. It's possible to write lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Default: lines

Examples: "lines", "delim: ", "delim:foobar"
subprocess object
3 nested properties
args string[]

A list of arguments to provide the command. Default: []

codec string

The way in which messages should be written to the subprocess. Default: lines

name string

The command to execute as a subprocess.

switch object
3 nested properties
cases object[]

A list of switch cases, outlining outputs that can be routed to.

Examples: [{"check":"this.urls.contains(\"https://warpstreamlabs.github.io/bento\")","continue":true,"output":{"cache":{"key":"${!json(\"id\")}","target":"foo"}}},{"output":{"s3":{"bucket":"bar","path":"${!json(\"id\")}"}}}]
retry_until_success boolean

If a selected output fails to send a message this field determines whether it is reattempted indefinitely. If set to false the error is instead propagated back to the input level.

If a message can be routed to >1 outputs it is usually best to set this to true in order to avoid duplicate messages being routed to an output. Default: false

strict_mode boolean

This field determines whether an error should be reported if no condition is met. If set to true, an error is propagated back to the input level. The default behavior is false, which will drop the message. Default: false

sync_response object

Default: map[]

websocket object
6 nested properties
basic_auth object

Allows you to specify basic authentication.

3 nested properties
enabled boolean

Whether to use basic authentication in requests. Default: false

password string

A password to authenticate with. Default:

username string

A username to authenticate as. Default:

jwt object

BETA: Allows you to specify JWT authentication.

5 nested properties
claims object

A value used to identify the claims that issued the JWT. Default: map[]

enabled boolean

Whether to use JWT authentication in requests. Default: false

headers object

Add optional key/value headers to the JWT. Default: map[]

private_key_file string

A file with the PEM encoded via PKCS1 or PKCS8 as private key. Default:

signing_method string

A method used to sign the token such as RS256, RS384, RS512 or EdDSA. Default:

oauth object

Allows you to specify open authentication via OAuth version 1.

5 nested properties
access_token string

A value used to gain access to the protected resources on behalf of the user. Default:

access_token_secret string

A secret provided in order to establish ownership of a given access token. Default:

consumer_key string

A value used to identify the client to the service provider. Default:

consumer_secret string

A secret used to establish ownership of the consumer key. Default:

enabled boolean

Whether to use OAuth version 1 in requests. Default: false

proxy_url string

An optional HTTP proxy URL.

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

The URL to connect to.

zmq4n object
9 nested properties
bind boolean

Whether to bind to the specified URLs (otherwise they are connected to). Default: true

dial_max_retries integer

The maximum number of dial retries (-1 for infinite retries). Default: 10

dial_retry_delay string

The time to wait between failed dial attempts. Default: 250ms

dial_timeout string

The maximum time to wait for a dial to complete. Default: 5m

high_water_mark integer

The message high water mark to use. (experimental i go-zeromq) Default: 0

poll_timeout string

The poll timeout to use. Default: 5s

socket_auto_reconnect boolean

Whether to automatically attempt internal reconnection on connection loss. :::warning Important Since this is an internal retry, the zmq4n component will silently attempt reconnection until failure. This means that while retrying, no metric will indicate the component is in a retrying state until attempts have been exhausted. ::: Default: true

socket_type string

The socket type to connect as.

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["tcp://localhost:5556"]
output_resources object[]

A list of output resources, each must have a unique label. Default: []

73 nested properties
amqp_0_9 object
21 nested properties
app_id string

Set the application ID of each message with a dynamic interpolated expression. Default:

content_encoding string

The content encoding attribute to set for each message. Default:

content_type string

The content type attribute to set for each message. Default: application/octet-stream

correlation_id string

Set the correlation ID of each message with a dynamic interpolated expression. Default:

exchange string

An AMQP exchange to publish to.

exchange_declare object

Optionally declare the target exchange (passive).

3 nested properties
durable boolean

Whether the exchange should be durable. Default: true

enabled boolean

Whether to declare the exchange. Default: false

type string

The type of the exchange. Default: direct

expiration string

Set the per-message TTL Default:

immediate boolean

Whether to set the immediate flag on published messages. When set if there are no ready consumers of a queue then the message is dropped instead of waiting. Default: false

key string

The binding key to set for each message. Default:

mandatory boolean

Whether to set the mandatory flag on published messages. When set if a published message is routed to zero queues it is returned. Default: false

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

message_id string

Set the message ID of each message with a dynamic interpolated expression. Default:

metadata object

Specify criteria for which metadata values are attached to messages as headers.

1 nested properties
exclude_prefixes string[]

Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []

persistent boolean

Whether message delivery should be persistent (transient by default). Default: false

priority string

Set the priority of each message with a dynamic interpolated expression. Default:

Examples: "0", "${! metadata("amqp_priority") }", "${! json("doc.priority") }"
reply_to string

Carries response queue name - set with a dynamic interpolated expression. Default:

timeout string

The maximum period to wait before abandoning it and reattempting. If not set, wait indefinitely. Default:

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

type string

The type property to set for each message. Default:

urls string[]

A list of URLs to connect to. The first URL to successfully establish a connection will be used until the connection is closed. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["amqp://guest:[email protected]:5672/"], ["amqp://127.0.0.1:5672/,amqp://127.0.0.2:5672/"], ["amqp://127.0.0.1:5672/","amqp://127.0.0.2:5672/"]
user_id string

Set the user ID to the name of the publisher. If this property is set by a publisher, its value must be equal to the name of the user used to open the connection. Default:

amqp_1 object
8 nested properties
application_properties_map string

An optional Bloblang mapping that can be defined in order to set the application-properties on output messages.

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

metadata object

Specify criteria for which metadata values are attached to messages as headers.

1 nested properties
exclude_prefixes string[]

Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []

sasl object

Enables SASL authentication.

3 nested properties
mechanism string

The SASL authentication mechanism to use. Default: none

password string

A SASL plain text password. It is recommended that you use environment variables to populate this field. Default:

Examples: "${PASSWORD}"
user string

A SASL plain text username. It is recommended that you use environment variables to populate this field. Default:

Examples: "${USER}"
target_address string

The target address to write to.

Examples: "/foo", "queue:/bar", "topic:/baz"
tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

A URL to connect to.

Examples: "amqp://localhost:5672/", "amqps://guest:guest@localhost:5672/"
urls string[]

A list of URLs to connect to. The first URL to successfully establish a connection will be used until the connection is closed. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["amqp://guest:[email protected]:5672/"], ["amqp://127.0.0.1:5672/,amqp://127.0.0.2:5672/"], ["amqp://127.0.0.1:5672/","amqp://127.0.0.2:5672/"]
aws_dynamodb object
13 nested properties
backoff object

Control time intervals between retry attempts.

3 nested properties
initial_interval string

The initial period to wait between retry attempts. Default: 1s

max_elapsed_time string

The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s

max_interval string

The maximum period to wait between retry attempts. Default: 5s

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

delete object

Optional config fields that enable creating Delete requests from messages. If the bloblang mapping provided in delete.condition resolves to true, a delete request for the corresponding partition key will be made.

3 nested properties
condition string

A bloblang mapping that should return a bool, that will determine if the message will be used to create a Delete rather than Put Default:

Examples: "root = this.isDelete == "true""
partition_key string

The partition key for DeleteItem requests. Required when delete.condition is true. The value of the key will be resolved from either string_columns or json_map_columns Default:

sort_key string

The sort key for DeleteItem requests. The value of the key will be resolved from either string_columns or json_map_columns Default:

endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

json_map_columns object

A map of column keys to field paths pointing to value data within messages. Default: map[]

Examples: {"user":"path.to.user","whole_document":"."}, {"":"."}
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

max_retries integer

The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 3

region string

The AWS region to target. Default:

string_columns object

A map of column keys to string values to store. Default: map[]

Examples: {"full_content":"${!content()}","id":"${!json(\"id\")}","title":"${!json(\"body.title\")}","topic":"${!meta(\"kafka_topic\")}"}
table string

The table to store messages in.

ttl string

An optional TTL to set for items, calculated from the moment the message is sent. Default:

ttl_key string

The column key to place the TTL value within. Default:

aws_kinesis object
10 nested properties
backoff object

Control time intervals between retry attempts.

3 nested properties
initial_interval string

The initial period to wait between retry attempts. Default: 1s

max_elapsed_time string

The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s

max_interval string

The maximum period to wait between retry attempts. Default: 5s

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

hash_key string

A optional hash key for partitioning messages.

max_in_flight integer

The maximum number of parallel message batches to have in flight at any given time. Default: 64

max_retries integer

The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0

partition_key string

A required key for partitioning messages.

region string

The AWS region to target. Default:

stream string

The stream to publish messages to. Streams can either be specified by their name or full ARN.

Examples: "foo", "arn:aws:kinesis:*:111122223333:stream/my-stream"
aws_kinesis_firehose object
8 nested properties
backoff object

Control time intervals between retry attempts.

3 nested properties
initial_interval string

The initial period to wait between retry attempts. Default: 1s

max_elapsed_time string

The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s

max_interval string

The maximum period to wait between retry attempts. Default: 5s

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

max_retries integer

The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0

region string

The AWS region to target. Default:

stream string

The stream to publish messages to.

aws_s3 object
20 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
bucket string

The bucket to upload messages to.

cache_control string

The cache control to set for each object. Default:

content_disposition string

The content disposition to set for each object. Default:

content_encoding string

An optional content encoding to set for each object. Default:

content_language string

The content language to set for each object. Default:

content_type string

The content type to set for each object. Default: application/octet-stream

credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

force_path_style_urls boolean

Forces the client API to use path style URLs, which helps when connecting to custom endpoints. Default: false

kms_key_id string

An optional server side encryption key. Default:

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

metadata object

Specify criteria for which metadata values are attached to objects as headers.

1 nested properties
exclude_prefixes string[]

Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []

path string

The path of each message to upload. Default: ${!count("files")}-${!timestamp_unix_nano()}.txt

Examples: "${!count("files")}-${!timestamp_unix_nano()}.txt", "${!metadata("kafka_key")}.json", "${!json("doc.namespace")}/${!json("doc.id")}.json"
region string

The AWS region to target. Default:

server_side_encryption string

An optional server side encryption algorithm. Default:

storage_class string

The storage class to set for each object. Default: STANDARD

tags object

Key/value pairs to store with the object as tags. Default: map[]

Examples: {"Key1":"Value1","Timestamp":"${!metadata(\"Timestamp\")}"}
timeout string

The maximum period to wait on an upload before abandoning it and reattempting. Default: 5s

website_redirect_location string

The website redirect location to set for each object. Default:

aws_sns object
9 nested properties
credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

message_deduplication_id string

An optional deduplication ID to set for messages.

message_group_id string

An optional group ID to set for messages.

metadata object

Specify criteria for which metadata values are sent as headers.

1 nested properties
exclude_prefixes string[]

Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []

region string

The AWS region to target. Default:

timeout string

The maximum period to wait on an upload before abandoning it and reattempting. Default: 5s

topic_arn string

The topic to publish to.

aws_sqs object
12 nested properties
backoff object

Control time intervals between retry attempts.

3 nested properties
initial_interval string

The initial period to wait between retry attempts. Default: 1s

max_elapsed_time string

The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s

max_interval string

The maximum period to wait between retry attempts. Default: 5s

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

delay_seconds string

An optional delay time in seconds for message. Value between 0 and 900

endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

max_in_flight integer

The maximum number of parallel message batches to have in flight at any given time. Default: 64

max_retries integer

The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0

message_deduplication_id string

An optional deduplication ID to set for messages.

message_group_id string

An optional group ID to set for messages.

metadata object

Specify criteria for which metadata values are sent as headers.

1 nested properties
exclude_prefixes string[]

Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []

region string

The AWS region to target. Default:

url string

The URL of the target SQS queue.

azure_blob_storage object
9 nested properties
blob_type string

Block and Append blobs are comprised of blocks, and each blob can support up to 50,000 blocks. The default value is +"BLOCK"+.` Default: BLOCK

container string

The container for uploading the messages to.

Examples: "messages-${!timestamp("2006")}"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

path string

The path of each message to upload. Default: ${!count("files")}-${!timestamp_unix_nano()}.txt

Examples: "${!count("files")}-${!timestamp_unix_nano()}.json", "${!metadata("kafka_key")}.json", "${!json("doc.namespace")}/${!json("doc.id")}.json"
public_access_level string

The container's public access level. The default value is PRIVATE. Default: PRIVATE

storage_access_key string

The storage account access key. This field is ignored if storage_connection_string is set. Default:

storage_account string

The storage account to access. This field is ignored if storage_connection_string is set. Default:

storage_connection_string string

A storage account connection string. This field is required if storage_account and storage_access_key / storage_sas_token are not set. Default:

storage_sas_token string

The storage account SAS token. This field is ignored if storage_connection_string or storage_access_key are set. Default:

azure_cosmosdb object
13 nested properties
account_key string

Account key.

Examples: "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=="
auto_id boolean

Automatically set the item id field to a random UUID v4. If the id field is already set, then it will not be overwritten. Setting this to false can improve performance, since the messages will not have to be parsed. Default: true

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
connection_string string

Connection string.

Examples: "AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;"
container string

Container.

Examples: "testcontainer"
database string

Database.

Examples: "testdb"
endpoint string

CosmosDB endpoint.

Examples: "https://localhost:8081"
item_id string

ID of item to replace or delete. Only used by the Replace and Delete operations

Examples: "${! json("id") }"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

operation string

Operation. Default: Create

partition_keys_map string

A Bloblang mapping which should evaluate to a single partition key value or an array of partition key values of type string, integer or boolean. Currently, hierarchical partition keys are not supported so only one value may be provided.

Examples: "root = "blobfish"", "root = 41", "root = true", "root = null", "root = json("blobfish").depth"
patch_condition string

Patch operation condition.

Examples: "from c where not is_defined(c.blobfish)"
patch_operations object[]

Patch operations to be performed when operation: Patch .

azure_queue_storage object
8 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
max_in_flight integer

The maximum number of parallel message batches to have in flight at any given time. Default: 64

queue_name string

The name of the target Queue Storage queue.

storage_access_key string

The storage account access key. This field is ignored if storage_connection_string is set. Default:

storage_account string

The storage account to access. This field is ignored if storage_connection_string is set. Default:

storage_connection_string string

A storage account connection string. This field is required if storage_account and storage_access_key / storage_sas_token are not set. Default:

storage_sas_token string

The storage account SAS token. This field is ignored if storage_connection_string or storage_access_key are set. Default:

ttl string

The TTL of each individual message as a duration string. Defaults to 0, meaning no retention period is set Default:

Examples: "60s", "5m", "36h"
azure_table_storage object
13 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
insert_type string

Type of insert operation. Valid options are INSERT, INSERT_MERGE and INSERT_REPLACE Default:

Examples: "${! json("operation") }", "${! metadata("operation") }", "INSERT"
max_in_flight integer

The maximum number of parallel message batches to have in flight at any given time. Default: 64

partition_key string

The partition key. Default:

Examples: "${! json("date") }"
properties object

A map of properties to store into the table. Default: map[]

row_key string

The row key. Default:

Examples: "${! json("device")}-${!uuid_v4() }"
storage_access_key string

The storage account access key. This field is ignored if storage_connection_string is set. Default:

storage_account string

The storage account to access. This field is ignored if storage_connection_string is set. Default:

storage_connection_string string

A storage account connection string. This field is required if storage_account and storage_access_key / storage_sas_token are not set. Default:

storage_sas_token string

The storage account SAS token. This field is ignored if storage_connection_string or storage_access_key are set. Default:

table_name string

The table to store messages into.

Examples: "${! metadata("kafka_topic") }", "${! json("table") }"
timeout string

The maximum period to wait on an upload before abandoning it and reattempting. Default: 5s

transaction_type string

Type of transaction operation. Default: INSERT

Examples: "${! json("operation") }", "${! metadata("operation") }", "INSERT"
beanstalkd object
2 nested properties
address string

An address to connect to.

Examples: "127.0.0.1:11300"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase to improve throughput. Default: 64

broker object
4 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
copies integer

The number of copies of each configured output to spawn. Default: 1

outputs object[]

A list of child outputs to broker. Each item can be either a complete inline output configuration or a reference to an output resource.

pattern string

The brokering pattern to use. Default: fan_out

cache object
4 nested properties
key string

The key to store messages by, function interpolation should be used in order to derive a unique key for each message. Default: ${!count("items")}-${!timestamp_unix_nano()}

Examples: "${!count("items")}-${!timestamp_unix_nano()}", "${!json("doc.id")}", "${!metadata("kafka_key")}"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

target string

The target cache to store messages in.

ttl string

The TTL of each individual item as a duration string. After this period an item will be eligible for removal during the next compaction. Not all caches support per-key TTLs, and those that do not will fall back to their generally configured TTL setting.

Examples: "60s", "5m", "36h"
cassandra object
13 nested properties
addresses string[]

A list of Cassandra nodes to connect to. Multiple comma separated addresses can be specified on a single line.

Examples: ["localhost:9042"], ["foo:9042","bar:9042"], ["foo:9042,bar:9042"]
args_mapping string

A Bloblang mapping that can be used to provide arguments to Cassandra queries. The result of the query must be an array containing a matching number of elements to the query arguments.

backoff object

Control time intervals between retry attempts.

2 nested properties
initial_interval string

The initial period to wait between retry attempts. Default: 1s

max_interval string

The maximum period to wait between retry attempts. Default: 5s

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
consistency string

The consistency level to use. Default: QUORUM

disable_initial_host_lookup boolean

If enabled the driver will not attempt to get host info from the system.peers table. This can speed up queries but will mean that data_centre, rack and token information will not be available. Default: false

logged_batch boolean

If enabled the driver will perform a logged batch. Disabling this prompts unlogged batches to be used instead, which are less efficient but necessary for alternative storages that do not support logged batches. Default: true

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

max_retries integer

The maximum number of retries before giving up on a request. Default: 3

password_authenticator object

Optional configuration of Cassandra authentication parameters.

3 nested properties
enabled boolean

Whether to use password authentication Default: false

password string

The password to authenticate with. Default:

username string

The username to authenticate as. Default:

query string

A query to execute for each message.

timeout string

The client connection timeout. Default: 600ms

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

couchbase object
14 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
bucket string

Couchbase bucket.

cas_enabled boolean

Enable CAS validation. Default: true

collection string

Bucket collection. Default: _default

content string

Document content.

id string

Document id.

Examples: "${! json("id") }"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

operation string

Couchbase operation to perform. Default: upsert

password string

Password to connect to the cluster.

timeout string

Operation timeout. Default: 15s

transcoder string

Couchbase transcoder to use. Default: legacy

ttl string

An optional TTL to set for items.

url string

Couchbase connection string.

Examples: "couchbase://localhost:11210"
username string

Username to connect to the cluster.

cypher object
9 nested properties
basic_auth object

Basic Authentication fields

3 nested properties
password string

The password for basic auth. Default:

realm string

The realm for basic auth. Default:

user string

The username for basic auth. Default:

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
database string

The name of the database to connect to.

Examples: "neo4j"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

no_auth boolean

Set to true to connect without authentication. Default: false

query string

The cypher query to execute.

Examples: "CREATE (p:Person {name: $name}) RETURN p"
tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

uri string

The URL of the database engine.

Examples: "bolt://localhost:7687"
values object

A map of strings -> bloblang interpolations that form the values of the references in the query i.e. $name. Default: map[]

Examples: {"name":"${! json(\"name\") }"}
discord object
3 nested properties
bot_token string

A bot token used for authentication.

channel_id string

A discord channel ID to write messages to.

rate_limit string

Default: An optional rate limit resource to restrict API requests with.

drop object

Default: map[]

drop_on object
4 nested properties
back_pressure string

An optional duration string that determines the maximum length of time to wait for a given message to be accepted by the child output before the message should be dropped instead. The most common reason for an output to block is when waiting for a lost connection to be re-established. Once a message has been dropped due to back pressure all subsequent messages are dropped immediately until the output is ready to process them again. Note that if error is set to false and this field is specified then messages dropped due to back pressure will return an error response (are nacked or reattempted).

Examples: "30s", "1m"
error boolean

Whether messages should be dropped when the child output returns an error of any type. For example, this could be when an http_client output gets a 4XX response code. In order to instead drop only on specific error patterns use the error_matches field instead. Default: false

error_patterns string[]

A list of regular expressions (re2) where if the child output returns an error that matches any part of any of these patterns the message will be dropped.

Examples: ["and that was really bad$"], ["roughly [0-9]+ issues occurred"]
output object

A child output to wrap with this drop mechanism.

dynamic object
2 nested properties
outputs object

A map of outputs to statically create. Default: map[]

prefix string

A path prefix for HTTP endpoints that are registered. Default:

elasticsearch object
18 nested properties
action string

The action to take on the document. This field must resolve to one of the following action types: create, index, update, upsert or delete. Default: index

aws object

Enables and customises connectivity to Amazon Elastic Service.

4 nested properties
credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

enabled boolean

Whether to connect to Amazon Elastic Service. Default: false

endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

region string

The AWS region to target. Default:

backoff object

Control time intervals between retry attempts.

3 nested properties
initial_interval string

The initial period to wait between retry attempts. Default: 1s

max_elapsed_time string

The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s

max_interval string

The maximum period to wait between retry attempts. Default: 5s

basic_auth object

Allows you to specify basic authentication.

3 nested properties
enabled boolean

Whether to use basic authentication in requests. Default: false

password string

A password to authenticate with. Default:

username string

A username to authenticate as. Default:

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
gzip_compression boolean

Enable gzip compression on the request side. Default: false

healthcheck boolean

Whether to enable healthchecks. Default: true

id string

The ID for indexed messages. Interpolation should be used in order to create a unique ID for each message. Default: ${!count("elastic_ids")}-${!timestamp_unix()}

index string

The index to place messages.

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

max_retries integer

The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0

pipeline string

An optional pipeline id to preprocess incoming documents. Default:

routing string

The routing key to use for the document. Default:

sniff boolean

Prompts Bento to sniff for brokers to connect to when establishing a connection. Default: true

timeout string

The maximum time to wait before abandoning a request (and trying again). Default: 5s

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

type string

The document mapping type. This field is required for versions of elasticsearch earlier than 6.0.0, but are invalid for versions 7.0.0 or later. Default:

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["http://localhost:9200"]
elasticsearch_v2 object
17 nested properties
action string

The action to take on the document. This field must resolve to one of the following action types: create, index, update, upsert or delete. Default: index

backoff object

Control time intervals between retry attempts.

3 nested properties
initial_interval string

The initial period to wait between retry attempts. Default: 1s

max_elapsed_time string

The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s

max_interval string

The maximum period to wait between retry attempts. Default: 5s

basic_auth object

Allows you to specify basic authentication.

3 nested properties
enabled boolean

Whether to use basic authentication in requests. Default: false

password string

A password to authenticate with. Default:

username string

A username to authenticate as. Default:

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
compress_request_body boolean

Enable gzip compression on the request side. Default: false

discover_nodes_interval string

Discover nodes periodically. Default: 0s

discover_nodes_on_start boolean

Discover nodes when initializing the client. Default: false

id string

The ID for indexed messages. Interpolation should be used in order to create a unique ID for each message. Default: ${!count("elastic_ids")}-${!timestamp_unix()}

index string

The index to place messages.

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

max_retries integer

The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0

pipeline string

An optional pipeline id to preprocess incoming documents. Default:

retry_on_status integer

HTTP Status codes that should be retried. Default: [502 503 504]

routing string

The routing key to use for the document. Default:

timeout string

The maximum time to wait before abandoning a request (and trying again). Default: 5s

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["http://localhost:9200"]
fallback object[]

Default: []

file object
2 nested properties
codec string

The way in which the bytes of messages should be written out into the output data stream. It's possible to write lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Default: lines

Examples: "lines", "delim: ", "delim:foobar"
path string

The file to write to, if the file does not yet exist it will be created.

Examples: "/tmp/data.txt", "/tmp/${! timestamp_unix() }.txt", "/tmp/${! json("document.id") }.json"
gcp_bigquery object
13 nested properties
auto_detect boolean

Indicates if we should automatically infer the options and schema for CSV and JSON sources. If the table doesn't exist and this field is set to false the output may not be able to insert data and will throw insertion error. Be careful using this field since it delegates to the GCP BigQuery service the schema detection and values like "no" may be treated as booleans for the CSV format. Default: false

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
create_disposition string

Specifies the circumstances under which destination table will be created. If CREATE_IF_NEEDED is used the GCP BigQuery will create the table if it does not already exist and tables are created atomically on successful completion of a job. The CREATE_NEVER option ensures the table must already exist and will not be automatically created. Default: CREATE_IF_NEEDED

csv object

Specify how CSV data should be interpretted.

6 nested properties
allow_jagged_rows boolean

Causes missing trailing optional columns to be tolerated when reading CSV data. Missing values are treated as nulls. Default: false

allow_quoted_newlines boolean

Sets whether quoted data sections containing newlines are allowed when reading CSV data. Default: false

encoding string

Encoding is the character encoding of data to be read. Default: UTF-8

field_delimiter string

The separator for fields in a CSV file, used when reading or exporting data. Default: ,

header string[]

A list of values to use as header for each batch of messages. If not specified the first line of each message will be used as header. Default: []

skip_leading_rows integer

The number of rows at the top of a CSV file that BigQuery will skip when reading data. The default value is 1 since Bento will add the specified header in the first line of each batch sent to BigQuery. Default: 1

dataset string

The BigQuery Dataset ID.

format string

The format of each incoming message. Default: NEWLINE_DELIMITED_JSON

ignore_unknown_values boolean

Causes values not matching the schema to be tolerated. Unknown values are ignored. For CSV this ignores extra values at the end of a line. For JSON this ignores named values that do not match any column name. If this field is set to false (the default value), records containing unknown values are treated as bad records. The max_bad_records field can be used to customize how bad records are handled. Default: false

job_labels object

A list of labels to add to the load job. Default: map[]

max_bad_records integer

The maximum number of bad records that will be ignored when reading data. Default: 0

max_in_flight integer

The maximum number of message batches to have in flight at a given time. Increase this to improve throughput. Default: 64

project string

The project ID of the dataset to insert data to. If not set, it will be inferred from the credentials or read from the GOOGLE_CLOUD_PROJECT environment variable. Default:

table string

:::caution Interpolation of Message Batches It is assumed that the first message in the batch will resolve the bloblang query and that string will be used for all messages in the batch. ::: The table to insert messages to.

write_disposition string

Specifies how existing data in a destination table is treated. Default: WRITE_APPEND

gcp_bigquery_write_api object
8 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
dataset string

The BigQuery Dataset ID.

endpoint object

Used to overwrite the default gRPC and HTTP BigQuery endpoints.

2 nested properties
grpc string

The endpoint used to create the BigQuery Storage API client. Default:

http string

The endpoint used to create the BigQuery client. Default:

max_in_flight integer

The maximum number of message batches to have in flight at a given time. Increase this to improve throughput. Default: 64

message_format string

Format of incoming messages Default: json

project string

The project ID of the dataset to insert data to. If not set, it will be inferred from the credentials or read from the GOOGLE_CLOUD_PROJECT environment variable. Default:

stream_type string

:::caution Storage API Stream Types Only DEFAULT stream types are currently enabled. Future versions will see support extended to COMMITTED, BUFFERED, and PENDING. ::: sets the type of stream this write client is managing. Default: DEFAULT

table string

:::caution Interpolation of Message Batches It is assumed that the first message in the batch will resolve the bloblang query and that string will be used for all messages in the batch. ::: The table to insert messages to.

gcp_cloud_storage object
9 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
bucket string

The bucket to upload messages to.

chunk_size integer

An optional chunk size which controls the maximum number of bytes of the object that the Writer will attempt to send to the server in a single request. If ChunkSize is set to zero, chunking will be disabled. Default: 16777216

collision_mode string

Determines how file path collisions should be dealt with. Default: overwrite

content_encoding string

An optional content encoding to set for each object. Default:

content_type string

The content type to set for each object. Default: application/octet-stream

max_in_flight integer

The maximum number of message batches to have in flight at a given time. Increase this to improve throughput. Default: 64

path string

The path of each message to upload. Default: ${!count("files")}-${!timestamp_unix_nano()}.txt

Examples: "${!count("files")}-${!timestamp_unix_nano()}.txt", "${!metadata("kafka_key")}.json", "${!json("doc.namespace")}/${!json("doc.id")}.json"
timeout string

The maximum period to wait on an upload before abandoning it and reattempting. Default: 3s

Examples: "1s", "500ms"
gcp_pubsub object
12 nested properties
batching object

Configures a batching policy on this output. While the PubSub client maintains its own internal buffering mechanism, preparing larger batches of messages can further trade-off some latency for throughput.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
byte_threshold integer

Publish a batch when its size in bytes reaches this value. Default: 1000000

count_threshold integer

Publish a pubsub buffer when it has this many messages Default: 100

delay_threshold string

Publish a non-empty pubsub buffer after this delay has passed. Default: 10ms

endpoint string

An optional endpoint to override the default of pubsub.googleapis.com:443. This can be used to connect to a region specific pubsub endpoint. For a list of valid values check out this document. Default:

Examples: "us-central1-pubsub.googleapis.com:443", "us-west3-pubsub.googleapis.com:443"
flow_control object

For a given topic, configures the PubSub client's internal buffer for messages to be published.

3 nested properties
limit_exceeded_behavior string

Configures the behavior when trying to publish additional messages while the flow controller is full. The available options are block (default), ignore (disable), and signal_error (publish results will return an error). Default: block

max_outstanding_bytes integer

Maximum size of buffered messages to be published. If less than or equal to zero, this is disabled. Default: -1

max_outstanding_messages integer

Maximum number of buffered messages to be published. If less than or equal to zero, this is disabled. Default: 1000

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increasing this may improve throughput. Default: 64

metadata object

Specify criteria for which metadata values are sent as attributes, all are sent by default.

1 nested properties
exclude_prefixes string[]

Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []

ordering_key string

The ordering key to use for publishing messages.

project string

The project ID of the topic to publish to.

publish_timeout string

The maximum length of time to wait before abandoning a publish attempt for a message. Default: 1m0s

Examples: "10s", "5m", "60m"
topic string

The topic to publish to.

grpc_client object
12 nested properties
address string

The URI of the gRPC target to connect to.

Examples: "localhost:50051"
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
health_check object
2 nested properties
enabled boolean

Whether Bento should healthcheck the unary Check rpc endpoint on init connection: gRPC Health Checking Default: false

service string

The name of the service to healthcheck, note that the default value of "", will attempt to check the health of the whole server Default:

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

method string

The name of the method to invoke

Examples: "SayHello"
oauth2 object

Allows you to specify open authentication via OAuth version 2 using the client credentials token flow.

6 nested properties
client_key string

A value used to identify the client to the token provider. Default:

client_secret string

A secret used to establish ownership of the client key. Default:

enabled boolean

Whether to use OAuth version 2 in requests. Default: false

endpoint_params object

A list of optional endpoint parameters, values should be arrays of strings. Default: map[]

Examples: {"bar":["woof"],"foo":["meow","quack"]}
scopes string[]

A list of optional requested permissions. Default: []

token_url string

The URL of the token provider. Default:

propagate_response boolean

Whether responses from the server should be propagated back to the input. Default: false

proto_files string[]

A list of filepaths of .proto files that should contain the schemas necessary for the gRPC method. Default: []

Examples: ["./grpc_test_server/helloworld.proto"]
reflection boolean

If set to true, Bento will acquire the protobuf schema for the method from the server via gRPC Reflection. Default: false

rpc_type string

The type of the rpc method. Default: unary

service string

The name of the service.

Examples: "helloworld.Greeter"
tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

hdfs object
6 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
directory string

A directory to store message files within. If the directory does not exist it will be created.

hosts string[]

A list of target host addresses to connect to.

Examples: "localhost:9000"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

path string

The path to upload messages as, interpolation functions should be used in order to generate unique file paths. Default: ${!count("files")}-${!timestamp_unix_nano()}.txt

user string

A user ID to connect as. Default:

http_client object
26 nested properties
backoff_on integer

A list of status codes whereby the request should be considered to have failed and retries should be attempted, but the period between them should be increased gradually. Default: [429]

basic_auth object

Allows you to specify basic authentication.

3 nested properties
enabled boolean

Whether to use basic authentication in requests. Default: false

password string

A password to authenticate with. Default:

username string

A username to authenticate as. Default:

batch_as_multipart boolean

Send message batches as a single request using RFC1341. If disabled messages in batches will be sent as individual requests. Default: false

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
drop_on integer

A list of status codes whereby the request should be considered to have failed but retries should not be attempted. This is useful for preventing wasted retries for requests that will never succeed. Note that with these status codes the request is dropped, but message that caused the request will not be dropped. Default: []

dump_request_log_level string

EXPERIMENTAL: Optionally set a level at which the request and response payload of each request made will be logged. Default:

extract_headers object

Specify which response headers should be added to resulting synchronous response messages as metadata. Header keys are lowercased before matching, so ensure that your patterns target lowercased versions of the header keys that you expect. This field is not applicable unless propagate_response is set to true.

2 nested properties
include_patterns string[]

Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []

Examples: [".*"], ["_timestamp_unix$"]
include_prefixes string[]

Provide a list of explicit metadata key prefixes to match against. Default: []

Examples: ["foo_","bar_"], ["kafka_"], ["content-"]
headers object

A map of headers to add to the request. Default: map[]

Examples: {"Content-Type":"application/octet-stream","traceparent":"${! tracing_span().traceparent }"}
jwt object

BETA: Allows you to specify JWT authentication.

5 nested properties
claims object

A value used to identify the claims that issued the JWT. Default: map[]

enabled boolean

Whether to use JWT authentication in requests. Default: false

headers object

Add optional key/value headers to the JWT. Default: map[]

private_key_file string

A file with the PEM encoded via PKCS1 or PKCS8 as private key. Default:

signing_method string

A method used to sign the token such as RS256, RS384, RS512 or EdDSA. Default:

max_in_flight integer

The maximum number of parallel message batches to have in flight at any given time. Default: 64

max_retry_backoff string

The maximum period to wait between failed requests. Default: 300s

metadata object

Specify optional matching rules to determine which metadata keys should be added to the HTTP request as headers.

2 nested properties
include_patterns string[]

Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []

Examples: [".*"], ["_timestamp_unix$"]
include_prefixes string[]

Provide a list of explicit metadata key prefixes to match against. Default: []

Examples: ["foo_","bar_"], ["kafka_"], ["content-"]
multipart object[]

EXPERIMENTAL: Create explicit multipart HTTP requests by specifying an array of parts to add to the request, each part specified consists of content headers and a data field that can be populated dynamically. If this field is populated it will override the default request creation behaviour. Default: []

oauth object

Allows you to specify open authentication via OAuth version 1.

5 nested properties
access_token string

A value used to gain access to the protected resources on behalf of the user. Default:

access_token_secret string

A secret provided in order to establish ownership of a given access token. Default:

consumer_key string

A value used to identify the client to the service provider. Default:

consumer_secret string

A secret used to establish ownership of the consumer key. Default:

enabled boolean

Whether to use OAuth version 1 in requests. Default: false

oauth2 object

Allows you to specify open authentication via OAuth version 2 using the client credentials token flow.

6 nested properties
client_key string

A value used to identify the client to the token provider. Default:

client_secret string

A secret used to establish ownership of the client key. Default:

enabled boolean

Whether to use OAuth version 2 in requests. Default: false

endpoint_params object

A list of optional endpoint parameters, values should be arrays of strings. Default: map[]

Examples: {"bar":["woof"],"foo":["meow","quack"]}
scopes string[]

A list of optional requested permissions. Default: []

token_url string

The URL of the token provider. Default:

propagate_response boolean

Whether responses from the server should be propagated back to the input. Default: false

proxy_url string

An optional HTTP proxy URL.

rate_limit string

An optional rate limit to throttle requests by.

retries integer

The maximum number of retry attempts to make. Default: 3

retry_period string

The base period to wait between failed requests. Default: 1s

successful_on integer

A list of status codes whereby the attempt should be considered successful, this is useful for dropping requests that return non-2XX codes indicating that the message has been dealt with, such as a 303 See Other or a 409 Conflict. All 2XX codes are considered successful unless they are present within backoff_on or drop_on, regardless of this field. Default: []

timeout string

A static timeout to apply to requests. Default: 5s

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

transport object

Custom transport options.

6 nested properties
dial_context object

Settings for the dialer used to create new connections.

expect_continue_timeout string

Time to wait for a server's first response headers after sending request headers when 'Expect: 100-continue' is used. Zero means send body immediately. Default: 1s

force_http2 boolean

If true, the transport will attempt to use HTTP/2. Default: true

idle_connection_timeout string

Maximum time an idle keep-alive connection remains open before closing itself. Default: 90s

max_idle_connections integer

Maximum number of idle keep-alive connections. Zero = unlimited. Default: 100

tls_handshake_timeout string

Maximum time allowed for TLS handshake to complete. Default: 10s

url string

The URL to connect to.

verb string

A verb to connect with Default: POST

Examples: "POST", "GET", "DELETE"
http_server object
15 nested properties
address string

An alternative address to host from. If left empty the service wide address is used. Default:

allowed_verbs string[]

An array of verbs that are allowed for the path and stream_path HTTP endpoint. Default: [GET]

cert_file string

Enable TLS by specifying a certificate and key file. Only valid with a custom address. Default:

cors object

Adds Cross-Origin Resource Sharing headers. Only valid with a custom address.

4 nested properties
allowed_headers string[]

Appends additional headers to the list of default allowed headers: Accept, Accept-Language, Content-Language & Origin. These default headers are therefore always allowed. Default: []

allowed_methods string[]

Used to explicitly set allowed methods in the Access-Control-Allow-Methods header. Default: [GET HEAD POST PUT PATCH DELETE]

allowed_origins string[]

An explicit list of origins that are allowed for CORS requests. Default: []

enabled boolean

Whether to allow CORS requests. Default: false

heartbeat string

The time to wait before sending a heartbeat message. Default: 0s

key_file string

Enable TLS by specifying a certificate and key file. Only valid with a custom address. Default:

path string

The path from which discrete messages can be consumed. Default: /get

ping_period string

Send pings to client with this period. Must be less than pong wait. Default: 54s

pong_wait string

The time allowed to read the next pong message from the client. Default: 60s

stream_format string

The format of the stream endpoint. raw_bytes delivers messages directly with newlines between batches, while event_source formats according to Server-Sent Events (SSE) specification with data: prefixes, compatible with EventSource API. Default: raw_bytes

stream_path string

The path from which a continuous stream of messages can be consumed. Default: /get/stream

timeout string

The maximum time to wait before a blocking, inactive connection is dropped (only applies to the path endpoint). Default: 5s

write_wait string

The time allowed to write a message to the websocket. Default: 10s

ws_message_type string

Type of websocket message Default: binary

ws_path string

The path from which websocket connections can be established. Default: /get/ws

inproc string

Default:

kafka object
24 nested properties
ack_replicas boolean

Ensure that messages have been copied across all replicas before acknowledging receipt. Default: false

addresses string[]

A list of broker addresses to connect to. If an item of the list contains commas it will be expanded into multiple addresses.

Examples: ["localhost:9092"], ["localhost:9041,localhost:9042"], ["localhost:9041","localhost:9042"]
backoff object

Control time intervals between retry attempts.

3 nested properties
initial_interval string

The initial period to wait between retry attempts. Default: 3s

Examples: "50ms", "1s"
max_elapsed_time string

The maximum overall period of time to spend on retry attempts before the request is aborted. Setting this value to a zeroed duration (such as 0s) will result in unbounded retries. Default: 30s

Examples: "1m", "1h"
max_interval string

The maximum period to wait between retry attempts Default: 10s

Examples: "5s", "1m"
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
client_id string

An identifier for the client connection. Default: bento

compression string

The compression algorithm to use. Default: none

custom_topic_creation object

If enabled, topics will be created with the specified number of partitions and replication factor if they do not already exist.

3 nested properties
enabled boolean

Whether to enable custom topic creation. Default: false

partitions integer

The number of partitions to create for new topics. Leave at -1 to use the broker configured default. Must be >= 1. Default: -1

replication_factor integer

The replication factor to use for new topics. Leave at -1 to use the broker configured default. Must be an odd number, and less then or equal to the number of brokers. Default: -1

idempotent_write boolean

Enable the idempotent write producer option. This requires the IDEMPOTENT_WRITE permission on CLUSTER and can be disabled if this permission is not available. Default: false

inject_tracing_map string

EXPERIMENTAL: A Bloblang mapping used to inject an object containing tracing propagation information into outbound messages. The specification of the injected fields will match the format used by the service wide tracer.

Examples: "meta = @.assign(this)", "root.meta.span = this"
key string

The key to publish messages with. Default:

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

max_msg_bytes integer

The maximum size in bytes of messages sent to the target topic. Default: 1000000

max_retries integer

The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0

metadata object

Specify criteria for which metadata values are sent with messages as headers.

1 nested properties
exclude_prefixes string[]

Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []

partition string

The manually-specified partition to publish messages to, relevant only when the field partitioner is set to manual. Must be able to parse as a 32-bit integer. Default:

partitioner string

The partitioning algorithm to use. Default: fnv1a_hash

rack_id string

A rack identifier for this client. Default:

retry_as_batch boolean

When enabled forces an entire batch of messages to be retried if any individual message fails on a send, otherwise only the individual messages that failed are retried. Disabling this helps to reduce message duplicates during intermittent errors, but also makes it impossible to guarantee strict ordering of messages. Default: false

sasl object

Enables SASL authentication.

7 nested properties
access_token string

A static OAUTHBEARER access token Default:

aws object

Contains AWS specific fields for when the mechanism is set to AWS_MSK_IAM.

mechanism string

The SASL authentication mechanism, if left empty SASL authentication is not used. Default: none

password string

A PLAIN password. It is recommended that you use environment variables to populate this field. Default:

Examples: "${PASSWORD}"
token_cache string

Instead of using a static access_token allows you to query a cache resource to fetch OAUTHBEARER tokens from Default:

token_key string

Required when using a token_cache, the key to query the cache with for tokens. Default:

user string

A PLAIN username. It is recommended that you use environment variables to populate this field. Default:

Examples: "${USER}"
static_headers object

An optional map of static headers that should be added to messages in addition to metadata.

Examples: {"first-static-header":"value-1","second-static-header":"value-2"}
target_version string

The version of the Kafka protocol to use. This limits the capabilities used by the client and should ideally match the version of your brokers. Defaults to the oldest supported stable version.

Examples: "2.1.0", "3.1.0"
timeout string

The maximum period of time to wait for message sends before abandoning the request and retrying. Default: 5s

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

topic string

The topic to publish messages to.

kafka_franz object
19 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
client_id string

An identifier for the client connection. Default: bento

compression string

Optionally set an explicit compression type. The default preference is to use snappy when the broker supports it, and fall back to none if not.

idempotent_write boolean

Enable the idempotent write producer option. This requires the IDEMPOTENT_WRITE permission on CLUSTER and can be disabled if this permission is not available. Default: true

key string

An optional key to populate for each message.

max_buffered_records integer

Sets the max amount of records the client will buffer, blocking produces until records are finished if this limit is reached. This overrides the franz-kafka default of 10,000. Default: 10000

max_in_flight integer

The maximum number of batches to be sending in parallel at any given time. Default: 10

max_message_bytes string

The maximum space in bytes than an individual message may take, messages larger than this value will be rejected. This field corresponds to Kafka's max.message.bytes. Default: 1MB

Examples: "100MB", "50mib"
metadata object

Determine which (if any) metadata values should be added to messages as headers.

2 nested properties
include_patterns string[]

Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []

Examples: [".*"], ["_timestamp_unix$"]
include_prefixes string[]

Provide a list of explicit metadata key prefixes to match against. Default: []

Examples: ["foo_","bar_"], ["kafka_"], ["content-"]
metadata_max_age string

This sets the maximum age for the client's cached metadata, to allow detection of new topics, partitions, etc. Default: 5m

partition string

An optional explicit partition to set for each message. This field is only relevant when the partitioner is set to manual. The provided interpolation string must be a valid integer.

Examples: "${! metadata("partition") }"
partitioner string

Override the default murmur2 hashing partitioner.

rack_id string

A rack identifier for this client. Default:

sasl object[]

Specify one or more methods of SASL authentication. SASL is tried in order; if the broker supports the first mechanism, all connections will use that mechanism. If the first mechanism fails, the client will pick the first supported mechanism. If the broker does not support any client mechanisms, connections will fail.

Examples: [{"mechanism":"SCRAM-SHA-512","password":"bar","username":"foo"}]
seed_brokers string[]

A list of broker addresses to connect to in order to establish connections. If an item of the list contains commas it will be expanded into multiple addresses.

Examples: ["localhost:9092"], ["foo:9092","bar:9092"], ["foo:9092,bar:9092"]
timeout string

The maximum period of time to wait for message sends before abandoning the request and retrying Default: 10s

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

topic string

A topic to write messages to.

uniform_bytes_options object

Sets partitioner options when partitioner is of type uniform_bytes. These values will otherwise be ignored. Note, that future versions will likely see this approach reworked.

3 nested properties
adaptive boolean

Sets a slight imbalance so that the partitioner can produce more to brokers that are less loaded. Default: false

bytes string

The number of bytes the partitioner will return the same partition for. Default: 1MB

keys boolean

If true, uses standard hashing based on record key for records with non-nil keys. Default: false

mongodb object
15 nested properties
backoff object

Control time intervals between retry attempts.

3 nested properties
initial_interval string

The initial period to wait between retry attempts. Default: 1s

max_elapsed_time string

The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s

max_interval string

The maximum period to wait between retry attempts. Default: 5s

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
collection string

The name of the target collection.

database string

The name of the target MongoDB database.

document_map string

A bloblang map representing a document to store within MongoDB, expressed as extended JSON in canonical form. The document map is required for the operations insert-one, replace-one and update-one. Default:

Examples: "root.a = this.foo root.b = this.bar"
filter_map string

A bloblang map representing a filter for a MongoDB command, expressed as extended JSON in canonical form. The filter map is required for all operations except insert-one. It is used to find the document(s) for the operation. For example in a delete-one case, the filter map should have the fields required to locate the document to delete. Default:

Examples: "root.a = this.foo root.b = this.bar"
hint_map string

A bloblang map representing the hint for the MongoDB command, expressed as extended JSON in canonical form. This map is optional and is used with all operations except insert-one. It is used to improve performance of finding the documents in the mongodb. Default:

Examples: "root.a = this.foo root.b = this.bar"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

max_retries integer

The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 3

operation string

The mongodb operation to perform. Default: update-one

password string

The password to connect to the database. Default:

upsert boolean

The upsert setting is optional and only applies for update-one and replace-one operations. If the filter specified in filter_map matches, the document is updated or replaced accordingly, otherwise it is created. Default: false

url string

The URL of the target MongoDB server.

Examples: "mongodb://localhost:27017"
username string

The username to connect to the database. Default:

write_concern object

The write concern settings for the mongo connection.

3 nested properties
j boolean

J requests acknowledgement from MongoDB that write operations are written to the journal. Default: false

w string

W requests acknowledgement that write operations propagate to the specified number of mongodb instances. Default:

w_timeout string

The write concern timeout. Default:

mqtt object
15 nested properties
client_id string

An identifier for the client connection. Default:

connect_timeout string

The maximum amount of time to wait in order to establish a connection before the attempt is abandoned. Default: 30s

Examples: "1s", "500ms"
dynamic_client_id_suffix string

Append a dynamically generated suffix to the specified client_id on each run of the pipeline. This can be useful when clustering Bento producers.

keepalive integer

Max seconds of inactivity before a keepalive message is sent. Default: 30

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

password string

A password to connect with. Default:

qos integer

The QoS value to set for each message. Has options 0, 1, 2. Default: 1

retained boolean

Set message as retained on the topic. Default: false

retained_interpolated string

Override the value of retained with an interpolable value, this allows it to be dynamically set based on message contents. The value must resolve to either true or false.

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

topic string

The topic to publish messages to.

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["tcp://localhost:1883"]
user string

A username to connect with. Default:

will object

Set last will message in case of Bento failure

5 nested properties
enabled boolean

Whether to enable last will messages. Default: false

payload string

Set payload for last will message. Default:

qos integer

Set QoS for last will message. Valid values are: 0, 1, 2. Default: 0

retained boolean

Set retained for last will message. Default: false

topic string

Set topic for last will message. Default:

write_timeout string

The maximum amount of time to wait to write data before the attempt is abandoned. Default: 3s

Examples: "1s", "500ms"
nanomsg object
5 nested properties
bind boolean

Whether the URLs listed should be bind (otherwise they are connected to). Default: false

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

poll_timeout string

The maximum period of time to wait for a message to send before the request is abandoned and reattempted. Default: 5s

socket_type string

The socket type to send with. Default: PUSH

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

nats object
8 nested properties
auth object

Optional configuration of NATS authentication parameters.

4 nested properties
nkey_file string

An optional file containing a NKey seed.

Examples: "./seed.nk"
user_credentials_file string

An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.

Examples: "./user.creds"
user_jwt string

An optional plain text user JWT (given along with the corresponding user NKey Seed).

user_nkey_seed string

An optional plain text user NKey Seed (given along with the corresponding user JWT).

headers object

Explicit message headers to add to messages. Default: map[]

Examples: {"Content-Type":"application/json","Timestamp":"${!metadata(\"Timestamp\").string()}"}
inject_tracing_map string

EXPERIMENTAL: A Bloblang mapping used to inject an object containing tracing propagation information into outbound messages. The specification of the injected fields will match the format used by the service wide tracer.

Examples: "meta = @.assign(this)", "root.meta.span = this"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

metadata object

Determine which (if any) metadata values should be added to messages as headers.

2 nested properties
include_patterns string[]

Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []

Examples: [".*"], ["_timestamp_unix$"]
include_prefixes string[]

Provide a list of explicit metadata key prefixes to match against. Default: []

Examples: ["foo_","bar_"], ["kafka_"], ["content-"]
subject string

The subject to publish to.

Examples: "foo.bar.baz"
tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["nats://127.0.0.1:4222"], ["nats://username:[email protected]:4222"]
nats_jetstream object
8 nested properties
auth object

Optional configuration of NATS authentication parameters.

4 nested properties
nkey_file string

An optional file containing a NKey seed.

Examples: "./seed.nk"
user_credentials_file string

An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.

Examples: "./user.creds"
user_jwt string

An optional plain text user JWT (given along with the corresponding user NKey Seed).

user_nkey_seed string

An optional plain text user NKey Seed (given along with the corresponding user JWT).

headers object

Explicit message headers to add to messages. Default: map[]

Examples: {"Content-Type":"application/json","Timestamp":"${!metadata(\"Timestamp\").string()}"}
inject_tracing_map string

EXPERIMENTAL: A Bloblang mapping used to inject an object containing tracing propagation information into outbound messages. The specification of the injected fields will match the format used by the service wide tracer.

Examples: "meta = @.assign(this)", "root.meta.span = this"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 1024

metadata object

Determine which (if any) metadata values should be added to messages as headers.

2 nested properties
include_patterns string[]

Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []

Examples: [".*"], ["_timestamp_unix$"]
include_prefixes string[]

Provide a list of explicit metadata key prefixes to match against. Default: []

Examples: ["foo_","bar_"], ["kafka_"], ["content-"]
subject string

A subject to write to.

Examples: "foo.bar.baz", "${! metadata("kafka_topic") }", "foo.${! json("meta.type") }"
tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["nats://127.0.0.1:4222"], ["nats://username:[email protected]:4222"]
nats_kv object
6 nested properties
auth object

Optional configuration of NATS authentication parameters.

4 nested properties
nkey_file string

An optional file containing a NKey seed.

Examples: "./seed.nk"
user_credentials_file string

An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.

Examples: "./user.creds"
user_jwt string

An optional plain text user JWT (given along with the corresponding user NKey Seed).

user_nkey_seed string

An optional plain text user NKey Seed (given along with the corresponding user JWT).

bucket string

The name of the KV bucket.

Examples: "my_kv_bucket"
key string

The key for each message.

Examples: "foo", "foo.bar.baz", "foo.${! json("meta.type") }"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 1024

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["nats://127.0.0.1:4222"], ["nats://username:[email protected]:4222"]
nats_object_store object
6 nested properties
auth object

Optional configuration of NATS authentication parameters.

4 nested properties
nkey_file string

An optional file containing a NKey seed.

Examples: "./seed.nk"
user_credentials_file string

An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.

Examples: "./user.creds"
user_jwt string

An optional plain text user JWT (given along with the corresponding user NKey Seed).

user_nkey_seed string

An optional plain text user NKey Seed (given along with the corresponding user JWT).

bucket string

The name of the object store bucket.

Examples: "my_bucket"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

object_name string

The object name for each message.

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["nats://127.0.0.1:4222"], ["nats://username:[email protected]:4222"]
nats_stream object
8 nested properties
auth object

Optional configuration of NATS authentication parameters.

4 nested properties
nkey_file string

An optional file containing a NKey seed.

Examples: "./seed.nk"
user_credentials_file string

An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.

Examples: "./user.creds"
user_jwt string

An optional plain text user JWT (given along with the corresponding user NKey Seed).

user_nkey_seed string

An optional plain text user NKey Seed (given along with the corresponding user JWT).

client_id string

The client ID to connect with. Default:

cluster_id string

The cluster ID to publish to.

inject_tracing_map string

EXPERIMENTAL: A Bloblang mapping used to inject an object containing tracing propagation information into outbound messages. The specification of the injected fields will match the format used by the service wide tracer.

Examples: "meta = @.assign(this)", "root.meta.span = this"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

subject string

The subject to publish to.

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["nats://127.0.0.1:4222"], ["nats://username:[email protected]:4222"]
nsq object
6 nested properties
auth_secret string

An optional secret for NSQ authentication (requires nsqd 0.2.29+).

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

nsqd_tcp_address string

The address of the target NSQD server.

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

topic string

The topic to publish to.

user_agent string

A user agent to assume when connecting.

opensearch object
11 nested properties
action string

The action to take on the document. This field must resolve to one of the following action types: create, index, update or delete. To write to a data stream, the action must be set to create.

aws object

Enables and customises connectivity to Amazon Elastic Service.

4 nested properties
credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

enabled boolean

Whether to connect to Amazon Elastic Service. Default: false

endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

region string

The AWS region to target. Default:

basic_auth object

Allows you to specify basic authentication.

3 nested properties
enabled boolean

Whether to use basic authentication in requests. Default: false

password string

A password to authenticate with. Default:

username string

A username to authenticate as. Default:

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
id string

The ID for indexed messages. Interpolation should be used in order to create a unique ID for each message.

Examples: "${!counter()}-${!timestamp_unix()}"
index string

The index to place messages.

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

pipeline string

An optional pipeline id to preprocess incoming documents. Default:

routing string

The routing key to use for the document. Default:

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["http://localhost:9200"]
pulsar object
7 nested properties
auth object

Optional configuration of Pulsar authentication methods.

2 nested properties
oauth2 object

Parameters for Pulsar OAuth2 authentication.

token object

Parameters for Pulsar Token authentication.

key string

The key to publish messages with. Default:

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

ordering_key string

The ordering key to publish messages with. Default:

tls object

Specify the path to a custom CA certificate to trust broker TLS service.

1 nested properties
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
topic string

The topic to publish to.

url string

A URL to connect to.

Examples: "pulsar://localhost:6650", "pulsar://pulsar.us-west.example.com:6650", "pulsar+ssl://pulsar.us-west.example.com:6651"
pusher object
9 nested properties
appId string

Pusher app id

batching object

maximum batch size is 10 (limit of the pusher library)

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
channel string

Pusher channel to publish to. Interpolation functions can also be used

Examples: "my_channel", "${!json("id")}"
cluster string

Pusher cluster

event string

Event to publish to

key string

Pusher key

max_in_flight integer

The maximum number of parallel message batches to have in flight at any given time. Default: 1

secret string

Pusher secret

secure boolean

Enable SSL encryption Default: true

questdb object
18 nested properties
address string

Address of the QuestDB server's HTTP port (excluding protocol)

Examples: "localhost:9000"
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
designated_timestamp_field string

Name of the designated timestamp field

designated_timestamp_unit string

Designated timestamp field units Default: auto

doubles string[]

Columns that should be double type, (int is default)

error_on_empty_messages boolean

Mark a message as errored if it is empty after field validation Default: false

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

password string

Password for HTTP basic auth

request_min_throughput integer

Minimum expected throughput in bytes per second for HTTP requests. If the throughput is lower than this value, the connection will time out. This is used to calculate an additional timeout on top of request_timeout. This is useful for large requests. You can set this value to 0 to disable this logic.

request_timeout string

The time to wait for a response from the server. This is in addition to the calculation derived from the request_min_throughput parameter.

retry_timeout string

The time to continue retrying after a failed HTTP request. The interval between retries is an exponential backoff starting at 10ms and doubling after each failed attempt up to a maximum of 1 second.

symbols string[]

Columns that should be the SYMBOL type (string values default to STRING)

table string

Destination table

Examples: "trades"
timestamp_string_fields string[]

String fields with textual timestamps

timestamp_string_format string

Timestamp format, used when parsing timestamp string fields. Specified in golang's time.Parse layout Default: Jan _2 15:04:05.000000Z0700

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

token string

Bearer token for HTTP auth (takes precedence over basic auth username & password)

username string

Username for HTTP basic auth

redis_hash object
9 nested properties
fields object

A map of key/value pairs to set as hash fields. Default: map[]

key string

The key for each message, function interpolations should be used to create a unique key per message.

Examples: "${! @.kafka_key )}", "${! this.doc.id }", "${! count("msgs") }"
kind string

Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple

master string

Name of the redis master when kind is failover Default:

Examples: "mymaster"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

tls object

Custom TLS settings can be used to override system defaults.

Troubleshooting

Some cloud hosted instances of Redis (such as Azure Cache) might need some hand holding in order to establish stable connections. Unfortunately, it is often the case that TLS issues will manifest as generic error messages such as "i/o timeout". If you're using TLS and are seeing connectivity problems consider setting enable_renegotiation to true, and ensuring that the server supports at least TLS version 1.2.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

The URL of the target Redis server. Database is optional and is supplied as the URL path.

Examples: "redis://:6397", "redis://localhost:6379", "redis://foousername:foopassword@redisplace:6379", "redis://:foopassword@redisplace:6379", "redis://localhost:6379/1", "redis://localhost:6379/1,redis://localhost:6380/1"
walk_json_object boolean

Whether to walk each message as a JSON object and add each key/value pair to the list of hash fields to set. Default: false

walk_metadata boolean

Whether all metadata fields of messages should be walked and added to the list of hash fields to set. Default: false

redis_list object
8 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
command string

The command used to push elements to the Redis list Default: rpush

key string

The key for each message, function interpolations can be optionally used to create a unique key per message.

Examples: "some_list", "${! @.kafka_key )}", "${! this.doc.id }", "${! count("msgs") }"
kind string

Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple

master string

Name of the redis master when kind is failover Default:

Examples: "mymaster"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

tls object

Custom TLS settings can be used to override system defaults.

Troubleshooting

Some cloud hosted instances of Redis (such as Azure Cache) might need some hand holding in order to establish stable connections. Unfortunately, it is often the case that TLS issues will manifest as generic error messages such as "i/o timeout". If you're using TLS and are seeing connectivity problems consider setting enable_renegotiation to true, and ensuring that the server supports at least TLS version 1.2.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

The URL of the target Redis server. Database is optional and is supplied as the URL path.

Examples: "redis://:6397", "redis://localhost:6379", "redis://foousername:foopassword@redisplace:6379", "redis://:foopassword@redisplace:6379", "redis://localhost:6379/1", "redis://localhost:6379/1,redis://localhost:6380/1"
redis_pubsub object
7 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
channel string

The channel to publish messages to.

kind string

Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple

master string

Name of the redis master when kind is failover Default:

Examples: "mymaster"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

tls object

Custom TLS settings can be used to override system defaults.

Troubleshooting

Some cloud hosted instances of Redis (such as Azure Cache) might need some hand holding in order to establish stable connections. Unfortunately, it is often the case that TLS issues will manifest as generic error messages such as "i/o timeout". If you're using TLS and are seeing connectivity problems consider setting enable_renegotiation to true, and ensuring that the server supports at least TLS version 1.2.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

The URL of the target Redis server. Database is optional and is supplied as the URL path.

Examples: "redis://:6397", "redis://localhost:6379", "redis://foousername:foopassword@redisplace:6379", "redis://:foopassword@redisplace:6379", "redis://localhost:6379/1", "redis://localhost:6379/1,redis://localhost:6380/1"
redis_streams object
10 nested properties
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
body_key string

A key to set the raw body of the message to. Default: body

kind string

Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple

master string

Name of the redis master when kind is failover Default:

Examples: "mymaster"
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

max_length integer

When greater than zero enforces a rough cap on the length of the target stream. Default: 0

metadata object

Specify criteria for which metadata values are included in the message body.

1 nested properties
exclude_prefixes string[]

Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []

stream string

The stream to add messages to.

tls object

Custom TLS settings can be used to override system defaults.

Troubleshooting

Some cloud hosted instances of Redis (such as Azure Cache) might need some hand holding in order to establish stable connections. Unfortunately, it is often the case that TLS issues will manifest as generic error messages such as "i/o timeout". If you're using TLS and are seeing connectivity problems consider setting enable_renegotiation to true, and ensuring that the server supports at least TLS version 1.2.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

The URL of the target Redis server. Database is optional and is supplied as the URL path.

Examples: "redis://:6397", "redis://localhost:6379", "redis://foousername:foopassword@redisplace:6379", "redis://:foopassword@redisplace:6379", "redis://localhost:6379/1", "redis://localhost:6379/1,redis://localhost:6380/1"
reject string

Default:

reject_errored object
resource string

Default:

retry object
3 nested properties
backoff object

Control time intervals between retry attempts.

3 nested properties
initial_interval string

The initial period to wait between retry attempts. Default: 500ms

max_elapsed_time string

The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 0s

max_interval string

The maximum period to wait between retry attempts. Default: 3s

max_retries integer

The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0

output object

A child output.

s2 object
6 nested properties
access_token string

Access token for S2 account

basin string

Basin name

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
fencing_token string

Enforce a fencing token (base64 encoded)

Examples: "aGVsbG8gczI="
max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

stream string

Stream name

sftp object
5 nested properties
address string

The address of the server to connect to.

codec string

The way in which the bytes of messages should be written out into the output data stream. It's possible to write lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Default: all-bytes

Examples: "lines", "delim: ", "delim:foobar"
credentials object

The credentials to use to log into the target server.

4 nested properties
password string

The password for the username to connect to the SFTP server. Default:

private_key_file string

The private key for the username to connect to the SFTP server. Default:

private_key_pass string

Optional passphrase for private key. Default:

username string

The username to connect to the SFTP server. Default:

max_in_flight integer

The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64

path string

The file to save the messages to on the server.

slack_webhook object
3 nested properties
timeout string

The maximum time to wait before abandoning a request (and trying again). Default: 5s

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

webhook string

Slack webhook URL to post messages

Examples: "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
snowflake_put object
22 nested properties
account string

Account name, which is the same as the Account Identifier as described here. However, when using an Account Locator, the Account Identifier is formatted as <account_locator>.<region_id>.<cloud> and this field needs to be populated using the <account_locator> part.

batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
client_session_keep_alive boolean

Enable Snowflake keepalive mechanism to prevent the client session from expiring after 4 hours (error 390114). Default: false

cloud string

Optional cloud platform field which needs to be populated when using an Account Locator and it must be set to the <cloud> part of the Account Identifier (<account_locator>.<region_id>.<cloud>).

Examples: "aws", "gcp", "azure"
compression string

Compression type. Default: AUTO

database string

Database.

file_extension string

Stage file extension. Will be derived from the configured compression if not set or empty. Default:

Examples: "csv", "parquet"
file_name string

Stage file name. Will be equal to the Request ID if not set or empty. Default:

max_in_flight integer

The maximum number of parallel message batches to have in flight at any given time. Default: 1

password string

An optional password.

path string

Stage path. Default:

private_key_file string

The path to a file containing the private SSH key.

private_key_pass string

An optional private SSH key passphrase.

region string

Optional region field which needs to be populated when using an Account Locator and it must be set to the <region_id> part of the Account Identifier (<account_locator>.<region_id>.<cloud>).

Examples: "us-west-2"
request_id string

Request ID. Will be assigned a random UUID (v4) string if not set or empty. Default:

role string

Role.

schema string

Schema.

snowpipe string

An optional Snowpipe name. Use the <snowpipe> part from <database>.<schema>.<snowpipe>.

stage string

Stage name. Use either one of the supported stage types.

upload_parallel_threads integer

Specifies the number of threads to use for uploading files. Default: 4

user string

Username.

warehouse string

Warehouse.

socket object
3 nested properties
address string

The address to connect to.

Examples: "/tmp/bento.sock", "127.0.0.1:6000"
codec string

The way in which the bytes of messages should be written out into the output data stream. It's possible to write lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Default: lines

Examples: "lines", "delim: ", "delim:foobar"
network string

A network type to connect as.

splunk_hec object
13 nested properties
batching_byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Splunk Cloud recommends limiting content length of HEC payload to 1 MB. Default: 1000000

batching_count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 100

batching_period string

A period in which an incomplete batch should be flushed regardless of its size. Default: 30s

event_host string

Set the host value to assign to the event data. Overrides existing host field if present. Default:

event_index string

Set the index value to assign to the event data. Overrides existing index field if present. Default:

event_source string

Set the source value to assign to the event data. Overrides existing source field if present. Default:

event_sourcetype string

Set the sourcetype value to assign to the event data. Overrides existing sourcetype field if present. Default:

gzip boolean

Enable gzip compression Default: false

max_in_flight integer

The maximum number of parallel message batches to have in flight at any given time. Default: 64

rate_limit string

An optional rate limit resource to restrict API requests with. Default:

skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

token string

A bot token used for authentication.

url string

Full HTTP Endpoint Collector (HEC) URL, ie. https://foobar.splunkcloud.com/services/collector/event

sql object
6 nested properties
args_mapping string

An optional Bloblang mapping which should evaluate to an array of values matching in size to the number of placeholder arguments in the field query.

Examples: "root = [ this.cat.meow, this.doc.woofs[0] ]", "root = [ metadata("user.id").string() ]"
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
data_source_name string

Data source name.

driver string

A database driver to use.

max_in_flight integer

The maximum number of inserts to run in parallel. Default: 64

query string

The query to execute. The style of placeholder to use depends on the driver, some drivers require question marks (?) whereas others expect incrementing dollar signs ($1, $2, and so on) or colons (:1, :2 and so on). The style to use is outlined in this table:

DriverPlaceholder Style
clickhouseDollar sign
mysqlQuestion mark
postgresDollar sign
mssqlQuestion mark
sqliteQuestion mark
oracleColon
snowflakeQuestion mark
spannerQuestion mark
trinoQuestion mark
gocosmosColon
Examples: "INSERT INTO footable (foo, bar, baz) VALUES (?, ?, ?);"
sql_insert object
22 nested properties
args_mapping string

A Bloblang mapping which should evaluate to an array of values matching in size to the number of columns specified.

Examples: "root = [ this.cat.meow, this.doc.woofs[0] ]", "root = [ metadata("user.id").string() ]"
azure object

Optional Fields that can be set to use Azure based authentication for Azure Postgres SQL

2 nested properties
entra_enabled boolean

An optional field used to generate an entra token to connect to 'Azure Database for PostgreSQL flexible server', This will create a new connection string with the host, user and database from the DSN field - you may need to URL encode the dsn! The Default Azure Credential Chain is used from the Azure SDK. Default: false

token_request_options object
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
columns string[]

A list of columns to insert.

Examples: ["foo","bar","baz"]
conn_max_idle integer

An optional maximum number of connections in the idle connection pool. If conn_max_open is greater than 0 but less than the new conn_max_idle, then the new conn_max_idle will be reduced to match the conn_max_open limit. If value <= 0, no idle connections are retained. The default max idle connections is currently 2. This may change in a future release. Default: 2

conn_max_idle_time string

An optional maximum amount of time a connection may be idle. Expired connections may be closed lazily before reuse. If value <= 0, connections are not closed due to a connections idle time.

conn_max_life_time string

An optional maximum amount of time a connection may be reused. Expired connections may be closed lazily before reuse. If value <= 0, connections are not closed due to a connections age.

conn_max_open integer

An optional maximum number of open connections to the database. If conn_max_idle is greater than 0 and the new conn_max_open is less than conn_max_idle, then conn_max_idle will be reduced to match the new conn_max_open limit. If value <= 0, then there is no limit on the number of open connections. The default is 0 (unlimited).

credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

driver string

A database driver to use.

dsn string

A Data Source Name to identify the target database.

Drivers

The following is a list of supported drivers, their placeholder style, and their respective DSN formats:

DriverData Source Name Format
clickhouseclickhouse://[username[:password]@][netloc][:port]/dbname[?param1=value1&...&paramN=valueN]
mysql[username[:password]@][protocol[(address)]]/dbname[?param1=value1&...&paramN=valueN]
postgrespostgres://[user[:password]@][netloc][:port][/dbname][?param1=value1&...]
mssqlsqlserver://[user[:password]@][netloc][:port][?database=dbname&param1=value1&...]
sqlitefile:/path/to/filename.db[?param&=value1&...]
oracleoracle://[username[:password]@][netloc][:port]/service_name?server=server2&server=server3
snowflakeusername[:password]@account_identifier/dbname/schemaname[?param1=value&...&paramN=valueN]
spannerprojects/[project]/instances/[instance]/databases/dbname
trinohttp[s]://user[:pass]@host[:port][?parameters]
gocosmosAccountEndpoint=<cosmosdb-endpoint>;AccountKey=<cosmosdb-account-key>[;TimeoutMs=<timeout-in-ms>][;Version=<cosmosdb-api-version>][;DefaultDb/Db=<db-name>][;AutoId=<true/false>][;InsecureSkipVerify=<true/false>]

Please note that the postgres driver enforces SSL by default, you can override this with the parameter sslmode=disable if required.

The snowflake driver supports multiple DSN formats. Please consult the docs for more details. For key pair authentication, the DSN has the following format: <snowflake_user>@<snowflake_account>/<db_name>/<schema_name>?warehouse=<warehouse>&role=<role>&authenticator=snowflake_jwt&privateKey=<base64_url_encoded_private_key>, where the value for the privateKey parameter can be constructed from an unencrypted RSA private key file rsa_key.p8 using openssl enc -d -base64 -in rsa_key.p8 | basenc --base64url -w0 (you can use gbasenc insted of basenc on OSX if you install coreutils via Homebrew). If you have a password-encrypted private key, you can decrypt it using openssl pkcs8 -in rsa_key_encrypted.p8 -out rsa_key.p8. Also, make sure fields such as the username are URL-encoded.

The gocosmos driver is still experimental, but it has support for hierarchical partition keys as well as cross-partition queries. Please refer to the SQL notes for details.

Examples: "clickhouse://username:password@host1:9000,host2:9000/database?dial_timeout=200ms&max_execution_time=60", "foouser:foopassword@tcp(localhost:3306)/foodb", "postgres://foouser:foopass@localhost:5432/foodb?sslmode=disable", "oracle://foouser:foopass@localhost:1521/service_name"
endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

iam_enabled boolean

An optional field used to generate an IAM authentication token to connect to an Amazon Relational Database (RDS) DB instance. This will overwrite the Password in the DSN with the generated token only if the drivers are mysql or postgres. Default: false

init_files string[]

An optional list of file paths containing SQL statements to execute immediately upon the first connection to the target database. This is a useful way to initialise tables before processing data. Glob patterns are supported, including super globs (double star).

Care should be taken to ensure that the statements are idempotent, and therefore would not cause issues when run multiple times after service restarts. If both init_statement and init_files are specified the init_statement is executed after the init_files.

If a statement fails for any reason a warning log will be emitted but the operation of this component will not be stopped.

Examples: ["./init/*.sql"], ["./foo.sql","./bar.sql"]
init_statement string

An optional SQL statement to execute immediately upon the first connection to the target database. This is a useful way to initialise tables before processing data. Care should be taken to ensure that the statement is idempotent, and therefore would not cause issues when run multiple times after service restarts.

If both init_statement and init_files are specified the init_statement is executed after the init_files.

If the statement fails for any reason a warning log will be emitted but the operation of this component will not be stopped.

Examples: " CREATE TABLE IF NOT EXISTS some_table ( foo varchar(50) not null, bar integer, baz varchar(50), primary key (foo) ) WITHOUT ROWID; "
init_verify_conn boolean

Whether to verify the database connection on startup by performing a simple ping, by default this is disabled. Default: false

max_in_flight integer

The maximum number of inserts to run in parallel. Default: 64

prefix string

An optional prefix to prepend to the insert query (before INSERT).

region string

The AWS region to target. Default:

secret_name string

An optional field that can be used to get the Username + Password from AWS Secrets Manager. This will overwrite the Username + Password in the DSN with the values from the Secret only if the driver is set to postgres.

suffix string

An optional suffix to append to the insert query.

Examples: "ON CONFLICT (name) DO NOTHING"
table string

The table to insert to.

Examples: "foo"
sql_raw object
20 nested properties
args_mapping string

An optional Bloblang mapping which should evaluate to an array of values matching in size to the number of placeholder arguments in the field query.

Examples: "root = [ this.cat.meow, this.doc.woofs[0] ]", "root = [ metadata("user.id").string() ]"
azure object

Optional Fields that can be set to use Azure based authentication for Azure Postgres SQL

2 nested properties
entra_enabled boolean

An optional field used to generate an entra token to connect to 'Azure Database for PostgreSQL flexible server', This will create a new connection string with the host, user and database from the DSN field - you may need to URL encode the dsn! The Default Azure Credential Chain is used from the Azure SDK. Default: false

token_request_options object
batching object

Allows you to configure a batching policy.

Examples: {"byte_size":5000,"count":0,"period":"1s"}, {"count":10,"period":"1s"}, {"check":"this.contains(\"END BATCH\")","count":0,"period":"1m"}, {"count":10,"jitter":0.1,"period":"10s"}
6 nested properties
byte_size integer

An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0

check string

A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:

Examples: "this.type == "end_of_transaction""
count integer

A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0

jitter number

A non-negative factor that adds random delay to batch flush intervals, where delay is determined uniformly at random between 0 and jitter * period. For example, with period: 100ms and jitter: 0.1, each flush will be delayed by a random duration between 0-10ms. Default: 0

Examples: 0.01, 0.1, 1
period string

A period in which an incomplete batch should be flushed regardless of its size. Default:

Examples: "1s", "1m", "500ms"
processors object[]

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Examples: [{"archive":{"format":"concatenate"}}], [{"archive":{"format":"lines"}}], [{"archive":{"format":"json_array"}}]
conn_max_idle integer

An optional maximum number of connections in the idle connection pool. If conn_max_open is greater than 0 but less than the new conn_max_idle, then the new conn_max_idle will be reduced to match the conn_max_open limit. If value <= 0, no idle connections are retained. The default max idle connections is currently 2. This may change in a future release. Default: 2

conn_max_idle_time string

An optional maximum amount of time a connection may be idle. Expired connections may be closed lazily before reuse. If value <= 0, connections are not closed due to a connections idle time.

conn_max_life_time string

An optional maximum amount of time a connection may be reused. Expired connections may be closed lazily before reuse. If value <= 0, connections are not closed due to a connections age.

conn_max_open integer

An optional maximum number of open connections to the database. If conn_max_idle is greater than 0 and the new conn_max_open is less than conn_max_idle, then conn_max_idle will be reduced to match the new conn_max_open limit. If value <= 0, then there is no limit on the number of open connections. The default is 0 (unlimited).

credentials object

Optional manual configuration of AWS credentials to use. More information can be found in this document.

8 nested properties
expiry_window string

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window. Default:

from_ec2_role boolean

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false

id string

The ID of credentials to use. Default:

profile string

A profile from ~/.aws/credentials to use. Default:

role string

A role ARN to assume. Default:

role_external_id string

An external ID to provide when assuming a role. Default:

secret string

The secret for the credentials being used. Default:

token string

The token for the credentials being used, required when using short term credentials. Default:

driver string

A database driver to use.

dsn string

A Data Source Name to identify the target database.

Drivers

The following is a list of supported drivers, their placeholder style, and their respective DSN formats:

DriverData Source Name Format
clickhouseclickhouse://[username[:password]@][netloc][:port]/dbname[?param1=value1&...&paramN=valueN]
mysql[username[:password]@][protocol[(address)]]/dbname[?param1=value1&...&paramN=valueN]
postgrespostgres://[user[:password]@][netloc][:port][/dbname][?param1=value1&...]
mssqlsqlserver://[user[:password]@][netloc][:port][?database=dbname&param1=value1&...]
sqlitefile:/path/to/filename.db[?param&=value1&...]
oracleoracle://[username[:password]@][netloc][:port]/service_name?server=server2&server=server3
snowflakeusername[:password]@account_identifier/dbname/schemaname[?param1=value&...&paramN=valueN]
spannerprojects/[project]/instances/[instance]/databases/dbname
trinohttp[s]://user[:pass]@host[:port][?parameters]
gocosmosAccountEndpoint=<cosmosdb-endpoint>;AccountKey=<cosmosdb-account-key>[;TimeoutMs=<timeout-in-ms>][;Version=<cosmosdb-api-version>][;DefaultDb/Db=<db-name>][;AutoId=<true/false>][;InsecureSkipVerify=<true/false>]

Please note that the postgres driver enforces SSL by default, you can override this with the parameter sslmode=disable if required.

The snowflake driver supports multiple DSN formats. Please consult the docs for more details. For key pair authentication, the DSN has the following format: <snowflake_user>@<snowflake_account>/<db_name>/<schema_name>?warehouse=<warehouse>&role=<role>&authenticator=snowflake_jwt&privateKey=<base64_url_encoded_private_key>, where the value for the privateKey parameter can be constructed from an unencrypted RSA private key file rsa_key.p8 using openssl enc -d -base64 -in rsa_key.p8 | basenc --base64url -w0 (you can use gbasenc insted of basenc on OSX if you install coreutils via Homebrew). If you have a password-encrypted private key, you can decrypt it using openssl pkcs8 -in rsa_key_encrypted.p8 -out rsa_key.p8. Also, make sure fields such as the username are URL-encoded.

The gocosmos driver is still experimental, but it has support for hierarchical partition keys as well as cross-partition queries. Please refer to the SQL notes for details.

Examples: "clickhouse://username:password@host1:9000,host2:9000/database?dial_timeout=200ms&max_execution_time=60", "foouser:foopassword@tcp(localhost:3306)/foodb", "postgres://foouser:foopass@localhost:5432/foodb?sslmode=disable", "oracle://foouser:foopass@localhost:1521/service_name"
endpoint string

Allows you to specify a custom endpoint for the AWS API. Default:

iam_enabled boolean

An optional field used to generate an IAM authentication token to connect to an Amazon Relational Database (RDS) DB instance. This will overwrite the Password in the DSN with the generated token only if the drivers are mysql or postgres. Default: false

init_files string[]

An optional list of file paths containing SQL statements to execute immediately upon the first connection to the target database. This is a useful way to initialise tables before processing data. Glob patterns are supported, including super globs (double star).

Care should be taken to ensure that the statements are idempotent, and therefore would not cause issues when run multiple times after service restarts. If both init_statement and init_files are specified the init_statement is executed after the init_files.

If a statement fails for any reason a warning log will be emitted but the operation of this component will not be stopped.

Examples: ["./init/*.sql"], ["./foo.sql","./bar.sql"]
init_statement string

An optional SQL statement to execute immediately upon the first connection to the target database. This is a useful way to initialise tables before processing data. Care should be taken to ensure that the statement is idempotent, and therefore would not cause issues when run multiple times after service restarts.

If both init_statement and init_files are specified the init_statement is executed after the init_files.

If the statement fails for any reason a warning log will be emitted but the operation of this component will not be stopped.

Examples: " CREATE TABLE IF NOT EXISTS some_table ( foo varchar(50) not null, bar integer, baz varchar(50), primary key (foo) ) WITHOUT ROWID; "
init_verify_conn boolean

Whether to verify the database connection on startup by performing a simple ping, by default this is disabled. Default: false

max_in_flight integer

The maximum number of inserts to run in parallel. Default: 64

query string

The query to execute. The style of placeholder to use depends on the driver, some drivers require question marks (?) whereas others expect incrementing dollar signs ($1, $2, and so on) or colons (:1, :2 and so on). The style to use is outlined in this table:

DriverPlaceholder Style
clickhouseDollar sign
mysqlQuestion mark
postgresDollar sign
mssqlQuestion mark
sqliteQuestion mark
oracleColon
snowflakeQuestion mark
spannerQuestion mark
trinoQuestion mark
gocosmosColon
Examples: "INSERT INTO footable (foo, bar, baz) VALUES (?, ?, ?);"
region string

The AWS region to target. Default:

secret_name string

An optional field that can be used to get the Username + Password from AWS Secrets Manager. This will overwrite the Username + Password in the DSN with the values from the Secret only if the driver is set to postgres.

unsafe_dynamic_query boolean

Whether to enable interpolation functions in the query. Great care should be made to ensure your queries are defended against injection attacks. Default: false

stdout object
1 nested properties
codec string

The way in which the bytes of messages should be written out into the output data stream. It's possible to write lines using a custom delimiter with the delim:x codec, where x is the character sequence custom delimiter. Default: lines

Examples: "lines", "delim: ", "delim:foobar"
subprocess object
3 nested properties
args string[]

A list of arguments to provide the command. Default: []

codec string

The way in which messages should be written to the subprocess. Default: lines

name string

The command to execute as a subprocess.

switch object
3 nested properties
cases object[]

A list of switch cases, outlining outputs that can be routed to.

Examples: [{"check":"this.urls.contains(\"https://warpstreamlabs.github.io/bento\")","continue":true,"output":{"cache":{"key":"${!json(\"id\")}","target":"foo"}}},{"output":{"s3":{"bucket":"bar","path":"${!json(\"id\")}"}}}]
retry_until_success boolean

If a selected output fails to send a message this field determines whether it is reattempted indefinitely. If set to false the error is instead propagated back to the input level.

If a message can be routed to >1 outputs it is usually best to set this to true in order to avoid duplicate messages being routed to an output. Default: false

strict_mode boolean

This field determines whether an error should be reported if no condition is met. If set to true, an error is propagated back to the input level. The default behavior is false, which will drop the message. Default: false

sync_response object

Default: map[]

websocket object
6 nested properties
basic_auth object

Allows you to specify basic authentication.

3 nested properties
enabled boolean

Whether to use basic authentication in requests. Default: false

password string

A password to authenticate with. Default:

username string

A username to authenticate as. Default:

jwt object

BETA: Allows you to specify JWT authentication.

5 nested properties
claims object

A value used to identify the claims that issued the JWT. Default: map[]

enabled boolean

Whether to use JWT authentication in requests. Default: false

headers object

Add optional key/value headers to the JWT. Default: map[]

private_key_file string

A file with the PEM encoded via PKCS1 or PKCS8 as private key. Default:

signing_method string

A method used to sign the token such as RS256, RS384, RS512 or EdDSA. Default:

oauth object

Allows you to specify open authentication via OAuth version 1.

5 nested properties
access_token string

A value used to gain access to the protected resources on behalf of the user. Default:

access_token_secret string

A secret provided in order to establish ownership of a given access token. Default:

consumer_key string

A value used to identify the client to the service provider. Default:

consumer_secret string

A secret used to establish ownership of the consumer key. Default:

enabled boolean

Whether to use OAuth version 1 in requests. Default: false

proxy_url string

An optional HTTP proxy URL.

tls object

Custom TLS settings can be used to override system defaults.

6 nested properties
client_certs object[]

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both. Default: []

Examples: [{"cert":"foo","key":"bar"}], [{"cert_file":"./example.pem","key_file":"./example.key"}]
enable_renegotiation boolean

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation. Default: false

enabled boolean

Whether custom TLS settings are enabled. Default: false

root_cas string

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----"
root_cas_file string

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. Default:

Examples: "./root_cas.pem"
skip_cert_verify boolean

Whether to skip server side certificate verification. Default: false

url string

The URL to connect to.

zmq4n object
9 nested properties
bind boolean

Whether to bind to the specified URLs (otherwise they are connected to). Default: true

dial_max_retries integer

The maximum number of dial retries (-1 for infinite retries). Default: 10

dial_retry_delay string

The time to wait between failed dial attempts. Default: 250ms

dial_timeout string

The maximum time to wait for a dial to complete. Default: 5m

high_water_mark integer

The message high water mark to use. (experimental i go-zeromq) Default: 0

poll_timeout string

The poll timeout to use. Default: 5s

socket_auto_reconnect boolean

Whether to automatically attempt internal reconnection on connection loss. :::warning Important Since this is an internal retry, the zmq4n component will silently attempt reconnection until failure. This means that while retrying, no metric will indicate the component is in a retrying state until attempts have been exhausted. ::: Default: true

socket_type string

The socket type to connect as.

urls string[]

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Examples: ["tcp://localhost:5556"]
pipeline object

Describes optional processing pipelines used for mutating messages.

2 nested properties
processors object[]

A list of processors to apply to messages. Default: []

threads integer

The number of threads to execute processing pipelines across. Default: -1

processor_resources object[]

A list of processor resources, each must have a unique label. Default: []

rate_limit_resources object[]

A list of rate limit resources, each must have a unique label. Default: []

shutdown_delay string

A period of time to wait for metrics and traces to be pulled or pushed from the process. Default: 0s

shutdown_timeout string

The maximum period of time to wait for a clean shutdown. If this time is exceeded Bento will forcefully close. Default: 20s

tests object[]

A list of one or more unit tests to execute.

tracer object

A mechanism for exporting traces. Default: map[none:map[]]

4 nested properties
gcp_cloudtrace object
4 nested properties
flush_interval string

The period of time between each flush of tracing spans.

project string

The google project with Cloud Trace API enabled. If this is omitted then the Google Cloud SDK will attempt auto-detect it from the environment.

sampling_ratio number

Sets the ratio of traces to sample. Tuning the sampling ratio is recommended for high-volume production workloads. Default: 1

Examples: 1
tags object

A map of tags to add to tracing spans. Default: map[]

jaeger object
6 nested properties
agent_address string

The address of a Jaeger agent to send tracing events to. Default:

Examples: "jaeger-agent:6831"
collector_url string

The URL of a Jaeger collector to send tracing events to. If set, this will override agent_address. Default:

Examples: "https://jaeger-collector:14268/api/traces"
flush_interval string

The period of time between each flush of tracing spans.

sampler_param number

A parameter to use for sampling. This field is unused for some sampling types. Default: 1

sampler_type string

The sampler type to use. Default: const

tags object

A map of tags to add to tracing spans. Default: map[]

none object

Default: map[]

open_telemetry_collector object
4 nested properties
grpc object[]

A list of grpc collectors.

http object[]

A list of http collectors.

sampling object

Settings for trace sampling. Sampling is recommended for high-volume production workloads.

2 nested properties
enabled boolean

Whether to enable sampling. Default: false

ratio number

Sets the ratio of traces to sample.

Examples: 0.85, 0.5
tags object

A map of tags to add to all tracing spans. Default: map[]