Bento
Bento stream configuration file
| 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
Properties
An optional buffer to store messages during transit. Default: map[none:map[]]
4 nested properties
3 nested properties
Optionally configure a policy to flush buffered messages in batches.
7 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
Whether to batch messages as they are flushed. Default: false
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
The maximum buffer size (in bytes) to allow before applying backpressure upstream. Default: 524288000
Whether to drop incoming messages that will exceed the buffer limit. Default: false
Default: map[]
3 nested properties
The path of the database file, which will be created if it does not already exist.
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.
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.
5 nested properties
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:
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:
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.
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:
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()
A list of cache resources, each must have a unique label. Default: []
Environment-wide settings for handling errored messages.
2 nested properties
Configuration for global logging message-level errors.
3 nested properties
Whether to add a failed message payload to an error log. Default: false
Whether to enable message-level error logging. Default: false
Sets the ratio of errored messages within a batch to sample. Default: 1
The error handling strategy. Default: none
Configures the service-wide HTTP server.
8 nested properties
The address to bind to. Default: 0.0.0.0:4195
Allows you to enforce and customise basic authentication for requests to the HTTP server.
6 nested properties
Encryption algorithm used to generate password_hash. Default: sha256
Enable basic authentication Default: false
Hashed password required to authenticate. (base64 encoded) Default:
Custom realm name Default: restricted
Salt for scrypt algorithm. (base64 encoded) Default:
Username required to authenticate. Default:
An optional certificate file for enabling TLS. Default:
Adds Cross-Origin Resource Sharing headers.
4 nested properties
Appends additional headers to the list of default allowed headers: Accept, Accept-Language, Content-Language & Origin. These default headers are therefore always allowed. Default: []
Used to explicitly set allowed methods in the Access-Control-Allow-Methods header. Default: [GET HEAD POST PUT PATCH DELETE]
An explicit list of origins that are allowed for CORS requests. Default: []
Whether to allow CORS requests. Default: false
Whether to register a few extra endpoints that can be useful for debugging performance or behavioral problems. Default: false
Whether to enable to HTTP server. Default: true
An optional key file for enabling TLS. Default:
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
An input to source messages from. Default: map[stdin:map[]]
62 nested properties
10 nested properties
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
Allows you to passively declare bindings for the target queue.
A consumer tag. Default:
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: []
The maximum number of pending messages to have consumed at a time. Default: 10
The maximum amount of pending messages measured in bytes to have consumed at a time. Default: 0
An AMQP queue to consume from.
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
Whether the declared queue will auto-delete. Default: false
Whether the declared queue is durable. Default: true
Whether to enable queue declaration. Default: false
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
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.
8 nested properties
Experimental: Azure service bus specific option to renew lock if processing takes more then configured lock time Default: false
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 additional message header fields into amqp_* metadata properties. Default: false
Enables SASL authentication.
3 nested properties
The SASL authentication mechanism to use. Default: none
A SASL plain text password. It is recommended that you use environment variables to populate this field. Default:
A SASL plain text username. It is recommended that you use environment variables to populate this field. Default:
The source address to consume from.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A URL to connect to.
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.
12 nested properties
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
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
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
The period of time between each update to the checkpoint table. Default: 5s
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
Determines the table used for storing and accessing the latest consumed sequence for shards, and for coordinating balanced consumers of streams.
5 nested properties
When creating the table determines the billing mode. Default: PAY_PER_REQUEST
Whether, if the table does not exist, it should be created. Default: false
Set the provisioned read capacity when creating the table with a billing_mode of PROVISIONED. Default: 0
The name of the table to access. Default:
Set the provisioned write capacity when creating the table with a billing_mode of PROVISIONED. Default: 0
Allows you to specify a custom endpoint for the AWS API. Default:
The period of time after which a client that has failed to update a shard checkpoint is assumed to be inactive. Default: 30s
The period of time between each attempt to rebalance shards across clients. Default: 30s
The AWS region to target. Default:
Whether to consume from the oldest message when a sequence does not yet exist for the stream. Default: true
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.
11 nested properties
The bucket to consume from. If the field sqs.url is specified this field is optional. Default:
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.
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
Whether to delete downloaded objects from the bucket once they are processed. Default: false
Allows you to specify a custom endpoint for the AWS API. Default:
Forces the client API to use path style URLs for downloading keys, which is often required when connecting to custom endpoints. Default: false
Default: 1000000
An optional path prefix, if set only objects with the prefix are consumed when walking a bucket. Default:
The AWS region to target. Default:
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[]]
Consume SQS messages in order to trigger key downloads.
8 nested properties
A dot path whereby the bucket name can be found in SQS messages. Default: Records.*.s3.bucket.name
An optional period of time to wait from when a notification was originally sent to when the target key download is attempted. Default:
A custom endpoint to use when connecting to SQS. Default:
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:
A dot path whereby object keys are found in SQS messages. Default: Records.*.s3.object.key
The maximum number of SQS messages to consume from each request. Default: 10
An optional SQS URL to connect to. When specified this queue will control which objects are downloaded. Default:
Whether to set the wait time. Enabling this activates long-polling. Valid values: 0 to 20. Default: 0
10 nested properties
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
A map used to send custom HTTP headers alongside each SQS operation to AWS. Default: map[]
Whether to delete the consumed message once it is acked. Disabling allows you to handle the deletion using a different mechanism. Default: true
Allows you to specify a custom endpoint for the AWS API. Default:
The maximum number of messages to return on one poll. Valid values: 1 to 10. Default: 10
The AWS region to target. Default:
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
Whether to periodically refresh the visibility timeout of in-flight messages to prevent more-than-once delivery while still processing. Default: true
The SQS URL to consume from.
Whether to set the wait time. Enabling this activates long-polling. Valid values: 0 to 20. Default: 0
11 nested properties
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.
The name of the container from which to download blobs.
Whether to delete downloaded objects from the blob once they are processed. Default: false
Default: 1000000
An optional path prefix, if set only objects with the prefix are consumed. Default:
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[]]
The storage account access key. This field is ignored if storage_connection_string is set. Default:
The storage account to access. This field is ignored if storage_connection_string is set. Default:
A storage account connection string. This field is required if storage_account and storage_access_key / storage_sas_token are not set. Default:
The storage account SAS token. This field is ignored if storage_connection_string or storage_access_key are set. Default:
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.
10 nested properties
Account key.
A Bloblang mapping that, for each message, creates a list of arguments to use with the query.
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
The maximum number of messages that should be accumulated into each batch. Use '-1' specify dynamic page size. Default: -1
Connection string.
Container.
Database.
CosmosDB endpoint.
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.
The query to execute
8 nested properties
The timeout duration until a dequeued message gets visible again, 30s by default Default: 30s
The maximum number of unprocessed messages to fetch at a given time. Default: 10
The name of the source storage queue.
The storage account access key. This field is ignored if storage_connection_string is set. Default:
The storage account to access. This field is ignored if storage_connection_string is set. Default:
A storage account connection string. This field is required if storage_account and storage_access_key / storage_sas_token are not set. Default:
Default:
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
7 nested properties
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
The Service Bus connection string. This can be obtained from the Azure portal. If not provided, namespace and default credentials will be used. Default:
The maximum number of unprocessed messages to fetch at a given time. Default: 10
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: []
The Service Bus namespace. Required when connection_string is not provided. Default:
The name of the Service Bus queue to consume from.
Automatically renew message locks to prevent lock expiration during processing. Useful for long-running message processing. Default: true
8 nested properties
OData filter expression. Is not set all rows are returned. Valid operators are eq, ne, gt, lt, ge and le Default:
Maximum number of records to return on each page. Default: 1000
Select expression using OData notation. Limits the columns on each record to just those requested. Default:
The storage account access key. This field is ignored if storage_connection_string is set. Default:
The storage account to access. This field is ignored if storage_connection_string is set. Default:
A storage account connection string. This field is required if storage_account and storage_access_key / storage_sas_token are not set. Default:
The storage account SAS token. This field is ignored if storage_connection_string or storage_access_key are set. Default:
The table to read messages from.
2 nested properties
The child input.
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
1 nested properties
An address to connect to.
3 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Whatever is specified within inputs will be created this many times. Default: 1
A list of inputs to create.
9 nested properties
A list of Cassandra nodes to connect to. Multiple comma separated addresses can be specified on a single line.
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
Control time intervals between retry attempts.
2 nested properties
The initial period to wait between retry attempts. Default: 1s
The maximum period to wait between retry attempts. Default: 5s
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
The maximum number of retries before giving up on a request. Default: 3
Optional configuration of Cassandra authentication parameters.
3 nested properties
Whether to use password authentication Default: false
The password to authenticate with. Default:
The username to authenticate as. Default:
A query to execute.
The client connection timeout. Default: 600ms
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
6 nested properties
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
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.
A Data Source Name to identify the target database.
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.
CSV of tables to be included in the changefeed
Custom TLS settings can be used to override system defaults.
5 nested properties
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: []
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
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:
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:
Whether to skip server side certificate verification. Default: false
9 nested properties
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
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
Whether to delete input files from the disk once they are fully consumed. Default: false
The delimiter to use for splitting values in each record. It must be a single character. Default: ,
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.
The number of expected fields in the csv file.
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
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
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).
7 nested properties
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 Authentication fields
3 nested properties
The password for basic auth. Default:
The realm for basic auth. Default:
The username for basic auth. Default:
The name of the database to connect to.
Set to true to connect without authentication. Default: false
The cypher query to execute.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The URL of the database engine.
8 nested properties
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
A bot token used for authentication.
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.
The key identifier used when storing the ID of the last message received. Default: last_message_id
A discord channel ID to consume messages from.
The maximum number of messages to receive in a single request. Default: 100
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
Default: An optional rate limit resource to restrict API requests with.
2 nested properties
A map of inputs to statically create. Default: map[]
A path prefix for HTTP endpoints that are registered. Default:
18 nested properties
Optional configuration of etcd authentication headers.
3 nested properties
Whether to use password authentication Default: false
The password to authenticate with. Default:
The username to authenticate as. Default:
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
The interval to update endpoints with its latest members. 0 disables auto-sync. By default auto-sync is disabled.
The jitter fraction to randomize backoff wait time.
The wait time before retrying an RPC.
Timeout for failing to establish a connection. Default: 5s
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.
Time after which client pings the server to see if transport is alive. Default: 5s
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
The key or prefix being watched. For prefix watching, options.with_prefix should be true
The client-side response receive limit. If 0, it defaults to math.MaxInt32.
The client-side request send limit in bytes. If 0, it defaults to 2.0 MiB (2 * 1024 * 1024).
The maximum number of retries for unary RPCs.
Collection of options to configure an etcd watcher.
6 nested properties
Whether to send CREATED notify events to the watcher. Default: false
Whether to discard DELETE events from the watcher. Default: false
Whether to watch for events on a prefix. Default: false
Whether to send periodic progress updates every 10 minutes when there is no incoming events. Default: false
Whether to discard PUT events from the watcher. Default: false
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:
When set, will allow client to send keepalive pings to server without any active streams (RPCs). Default: false
When set, will refuse to create a client against an outdated cluster. Default: false
Timeout for a single request. This includes connection time, any redirects, and header wait time. Default: 1s
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
6 nested properties
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
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.
Whether to delete input files from the disk once they are fully consumed. Default: false
Default: 1000000
A list of paths to consume sequentially. Glob patterns are supported, including super globs (double star).
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[]]
10 nested properties
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.
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
A list of columns to query.
A list of labels to add to the query job. Default: map[]
An optional prefix to prepend to the select query (before SELECT).
The priority with which to schedule the query. Default:
GCP project where the query job will execute.
An optional suffix to append to the select query.
Fully-qualified BigQuery table name to query.
An optional where clause to add. Placeholder arguments are populated with the args_mapping field. Placeholders should always be question marks (?).
6 nested properties
The name of the bucket from which to download objects.
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.
Whether to delete downloaded objects from the bucket once they are processed. Default: false
Default: 1000000
An optional path prefix, if set only objects with the prefix are consumed. Default:
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[]]
7 nested properties
Allows you to configure the input subscription and creates if it doesn't exist.
2 nested properties
Whether to configure subscription or not. Default: false
Defines the topic that the subscription should be vinculated to. Default:
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:
The maximum number of outstanding pending messages to be consumed measured in bytes. Default: 1e+09
The maximum number of outstanding pending messages to be consumed at a given time. Default: 1000
The project ID of the target subscription.
The target subscription ID.
Enable synchronous pull mode. Default: false
6 nested properties
An optional field to define the end time to read from the changestreams, timestamp format should conform to RFC3339
An optional field to configure the heartbeat interval for partitions. Default: 3s
The maximum number of messages to have pulled in. Default: 1024
The dsn for spanner from where to read the changestream.
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
The name of the stream to track changes on.
5 nested properties
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
The number of generated messages that should be accumulated into each batch flushed at the specified interval. Default: 1
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
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
A bloblang mapping to use for generating messages.
3 nested properties
The directory to consume from.
A list of target host addresses to connect to.
A user ID to connect as. Default:
25 nested properties
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
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]
Allows you to specify basic authentication.
3 nested properties
Whether to use basic authentication in requests. Default: false
A password to authenticate with. Default:
A username to authenticate as. Default:
Whether empty payloads received from the target server should be dropped. Default: true
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: []
EXPERIMENTAL: Optionally set a level at which the request and response payload of each request made will be logged. Default:
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
Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []
Provide a list of explicit metadata key prefixes to match against. Default: []
A map of headers to add to the request. Default: map[]
BETA: Allows you to specify JWT authentication.
5 nested properties
A value used to identify the claims that issued the JWT. Default: map[]
Whether to use JWT authentication in requests. Default: false
Add optional key/value headers to the JWT. Default: map[]
A file with the PEM encoded via PKCS1 or PKCS8 as private key. Default:
A method used to sign the token such as RS256, RS384, RS512 or EdDSA. Default:
The maximum period to wait between failed requests. Default: 300s
Specify optional matching rules to determine which metadata keys should be added to the HTTP request as headers.
2 nested properties
Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []
Provide a list of explicit metadata key prefixes to match against. Default: []
Allows you to specify open authentication via OAuth version 1.
5 nested properties
A value used to gain access to the protected resources on behalf of the user. Default:
A secret provided in order to establish ownership of a given access token. Default:
A value used to identify the client to the service provider. Default:
A secret used to establish ownership of the consumer key. Default:
Whether to use OAuth version 1 in requests. Default: false
Allows you to specify open authentication via OAuth version 2 using the client credentials token flow.
6 nested properties
A value used to identify the client to the token provider. Default:
A secret used to establish ownership of the client key. Default:
Whether to use OAuth version 2 in requests. Default: false
A list of optional endpoint parameters, values should be arrays of strings. Default: map[]
A list of optional requested permissions. Default: []
The URL of the token provider. Default:
An optional payload to deliver for each request.
An optional HTTP proxy URL.
An optional rate limit to throttle requests by.
The maximum number of retry attempts to make. Default: 3
The base period to wait between failed requests. Default: 1s
Allows you to set streaming mode, where requests are kept open and messages are processed line-by-line.
5 nested properties
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.
Enables streaming mode. Default: false
Default: 1000000
Sets whether to re-establish the connection once it is lost. Default: true
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[]]
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: []
A static timeout to apply to requests. Default: 5s
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
Custom transport options.
6 nested properties
Settings for the dialer used to create new connections.
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
If true, the transport will attempt to use HTTP/2. Default: true
Maximum time an idle keep-alive connection remains open before closing itself. Default: 90s
Maximum number of idle keep-alive connections. Zero = unlimited. Default: 100
Maximum time allowed for TLS handshake to complete. Default: 10s
The URL to connect to.
A verb to connect with Default: GET
12 nested properties
An alternative address to host from. If left empty the service wide address is used. Default:
An array of verbs that are allowed for the path endpoint. Default: [POST]
Enable TLS by specifying a certificate and key file. Only valid with a custom address. Default:
Adds Cross-Origin Resource Sharing headers. Only valid with a custom address.
4 nested properties
Appends additional headers to the list of default allowed headers: Accept, Accept-Language, Content-Language & Origin. These default headers are therefore always allowed. Default: []
Used to explicitly set allowed methods in the Access-Control-Allow-Methods header. Default: [GET HEAD POST PUT PATCH DELETE]
An explicit list of origins that are allowed for CORS requests. Default: []
Whether to allow CORS requests. Default: false
Enable TLS by specifying a certificate and key file. Only valid with a custom address. Default:
The endpoint path to listen for POST requests. Default: /post
An optional rate limit to throttle requests by. Default:
Customise messages returned via synchronous responses.
3 nested properties
Specify headers to return with synchronous responses. Default: map[Content-Type:application/octet-stream]
Specify criteria for which metadata values are added to the response as headers.
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
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
The endpoint path to create websocket connections from. Default: /post/ws
An optional message to delivery to websocket connections that are rate limited. Default:
An optional message to deliver to fresh websocket connections. Default:
Default:
19 nested properties
A list of broker addresses to connect to. If an item of the list contains commas it will be expanded into multiple addresses.
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
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
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
An identifier for the client connection. Default: bento
The period of time between each commit of the current partition offsets. Offsets are always committed during shutdown. Default: 1s
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:
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.
The maximum number of unprocessed messages to fetch at a given time. Default: 256
Tuning parameters for consumer group synchronization.
3 nested properties
A period in which heartbeats should be sent out. Default: 3s
A period after which rebalancing is abandoned if unresolved. Default: 60s
A period after which a consumer of the group is kicked after no heartbeats. Default: 10s
A maximum estimate for the time taken to process a message, this is used for tuning consumer group synchronization. Default: 100ms
Decode headers into lists to allow handling of multiple values with the same key Default: false
EXPERIMENTAL: Starts a new root span with link to parent.
A rack identifier for this client. Default:
Enables SASL authentication.
7 nested properties
A static OAUTHBEARER access token Default:
Contains AWS specific fields for when the mechanism is set to AWS_MSK_IAM.
The SASL authentication mechanism, if left empty SASL authentication is not used. Default: none
A PLAIN password. It is recommended that you use environment variables to populate this field. Default:
Instead of using a static access_token allows you to query a cache resource to fetch OAUTHBEARER tokens from Default:
Required when using a token_cache, the key to query the cache with for tokens. Default:
A PLAIN username. It is recommended that you use environment variables to populate this field. Default:
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
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.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
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.
23 nested properties
Determines which offset to automatically consume from, matching Kafka's auto.offset.reset property. When specified, this takes precedence over start_from_oldest.
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
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.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
:::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
An identifier for the client connection. Default: bento
The period of time between each commit of the current partition offsets. Offsets are always committed during shutdown. Default: 5s
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.
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
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
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
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]
This sets the maximum age for the client's cached metadata, to allow detection of new topics, partitions, etc. Default: 5m
Decode headers into lists to allow handling of multiple values with the same key Default: false
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.
A rack identifier for this client. Default:
An optional rate_limit to throttle invocations by. Default:
Determines whether to close the client and force a reconnect after seeing an UNKNOWN_TOPIC_OR_PARTITION or UNKNOWN_TOPIC_ID error. Default: false
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
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.
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.
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
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
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.
21 nested properties
Kubernetes API server URL. Only used when providing explicit credentials. Default:
Automatically detect authentication method. Tries in-cluster config first, then falls back to kubeconfig. Default: true
Control time intervals between retry attempts.
3 nested properties
The initial period to wait between retry attempts. Default: 1s
The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 0s
The maximum period to wait between retry attempts. Default: 60s
Path to CA certificate file for verifying API server. Default:
Burst limit for Kubernetes API client. 0 uses the client-go default. Default: 0
QPS limit for Kubernetes API client. 0 uses the client-go default. Default: 0
Kubernetes context to use from kubeconfig. If empty, uses the current context. Default:
Custom Resource Definition to watch. Use this for CRDs instead of 'resource'.
3 nested properties
API group for the custom resource (e.g., 'stable.example.com'). Default:
Plural name of the custom resource (e.g., 'crontabs'). Default:
API version for the custom resource (e.g., 'v1', 'v1beta1'). Default: v1
Watch event types to include. Valid values are ADDED, MODIFIED, and DELETED. Default: [ADDED MODIFIED DELETED]
Kubernetes field selector to filter resources. Default: map[]
Emit ADDED events for all existing resources when starting. Default: true
Skip TLS certificate verification. Not recommended for production. Default: false
Path to kubeconfig file. If empty, uses $KUBECONFIG (if set) or the default kubeconfig location (~/.kube/config). Default:
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:
Kubernetes label selector to filter resources. Default: map[]
The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0
Namespaces to watch. Empty list means all namespaces. Default: []
Timeout for Kubernetes API requests such as list calls. Use "0s" to disable. Default: 30s
Standard Kubernetes resource type to watch. Default:
Bearer token for authentication. Can be a service account token. Default:
Path to file containing bearer token. Default:
12 nested properties
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
A explicit number of documents to batch up before flushing them for processing. Must be greater than 0. Operations: find, aggregate
The collection to select from.
The name of the target MongoDB database.
The json_marshal_mode setting is optional and controls the format of the output message. Default: canonical
An explicit maximum number of documents to return. Operations: find
The mongodb operation to perform. Default: find
The password to connect to the database. Default:
Bloblang expression describing MongoDB query.
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
The URL of the target MongoDB server.
The username to connect to the database. Default:
13 nested properties
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
Set whether the connection is non-persistent. Default: true
An identifier for the client connection. Default:
The maximum amount of time to wait in order to establish a connection before the attempt is abandoned. Default: 30s
Append a dynamically generated suffix to the specified client_id on each run of the pipeline. This can be useful when clustering Bento producers.
Max seconds of inactivity before a keepalive message is sent. Default: 30
A password to connect with. Default:
The level of delivery guarantee to enforce. Has options 0, 1, 2. Default: 1
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A list of topics to consume from.
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
A username to connect with. Default:
Set last will message in case of Bento failure
5 nested properties
Whether to enable last will messages. Default: false
Set payload for last will message. Default:
Set QoS for last will message. Valid values are: 0, 1, 2. Default: 0
Set retained for last will message. Default: false
Set topic for last will message. Default:
6 nested properties
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
Whether the URLs provided should be connected to, or bound as. Default: true
The period to wait until a poll is abandoned and reattempted. Default: 5s
The socket type to use. Default: PULL
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: []
A list of URLs to connect to (or as). If an item of the list contains commas it will be expanded into multiple URLs.
10 nested properties
Optional configuration of NATS authentication parameters.
4 nested properties
An optional file containing a NKey seed.
An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.
An optional plain text user JWT (given along with the corresponding user NKey Seed).
An optional plain text user NKey Seed (given along with the corresponding user JWT).
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
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.
An optional delay duration on redelivering a message when negatively acknowledged.
EXPERIMENTAL: Starts a new root span with link to parent.
The maximum number of messages to pull at a time. Default: 524288
An optional queue group to consume as.
A subject to consume from. Supports wildcards for consuming multiple subjects. Either a subject or stream must be specified.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
13 nested properties
The maximum amount of time NATS server should wait for an ack from consumer. Default: 30s
Optional configuration of NATS authentication parameters.
4 nested properties
An optional file containing a NKey seed.
An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.
An optional plain text user JWT (given along with the corresponding user NKey Seed).
An optional plain text user NKey Seed (given along with the corresponding user JWT).
Indicates that the subscription should use an existing consumer.
Determines which messages to deliver when consuming without a durable subscriber. Default: all
Preserve the state of your consumer under a durable name.
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.
The maximum number of outstanding acks to be allowed before consuming is halted. Default: 1024
EXPERIMENTAL: Starts a new root span with link to parent.
An optional queue group to consume as.
A stream to consume from. Either a subject or stream must be specified.
A subject to consume from. Supports wildcards for consuming multiple subjects. Either a subject or stream must be specified.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
9 nested properties
Optional configuration of NATS authentication parameters.
4 nested properties
An optional file containing a NKey seed.
An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.
An optional plain text user JWT (given along with the corresponding user NKey Seed).
An optional plain text user NKey Seed (given along with the corresponding user JWT).
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
The name of the KV bucket.
Do not send delete markers as messages. Default: false
Include all the history per key, not just the last one. Default: false
Key to watch for updates, can include wildcards. Default: >
Retrieve only the metadata of the entry Default: false
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
5 nested properties
Optional configuration of NATS authentication parameters.
4 nested properties
An optional file containing a NKey seed.
An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.
An optional plain text user JWT (given along with the corresponding user NKey Seed).
An optional plain text user NKey Seed (given along with the corresponding user JWT).
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
The name of the object store bucket.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
14 nested properties
An optional duration to specify at which a message that is yet to be acked will be automatically retried. Default: 30s
Optional configuration of NATS authentication parameters.
4 nested properties
An optional file containing a NKey seed.
An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.
An optional plain text user JWT (given along with the corresponding user NKey Seed).
An optional plain text user NKey Seed (given along with the corresponding user JWT).
A client ID to connect as. Default:
The ID of the cluster to consume from.
Preserve the state of your consumer under a durable name. Default:
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.
The maximum number of unprocessed messages to fetch at a given time. Default: 1024
EXPERIMENTAL: Starts a new root span with link to parent.
The queue to consume from. Default:
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
A subject to consume from. Default:
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
Whether the subscription should be destroyed when this client disconnects. Default: false
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
9 nested properties
An optional secret for NSQ authentication (requires nsqd 0.2.29+).
The channel to consume from.
A list of nsqlookupd addresses to connect to.
The maximum number of attempts to successfully consume a messages. Default: 5
The maximum number of pending messages to consume at any given time. Default: 100
A list of nsqd addresses to connect to.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The topic to consume from.
A user agent to assume when connecting.
4 nested properties
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
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
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).
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
7 nested properties
Optional configuration of Pulsar authentication methods.
2 nested properties
Parameters for Pulsar OAuth2 authentication.
Parameters for Pulsar Token authentication.
Specify the subscription name for this consumer.
Specify the subscription type for this consumer.
NOTE: Using a
key_sharedsubscription 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
Specify the path to a custom CA certificate to trust broker TLS service.
1 nested properties
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:
A list of topics to subscribe to. This or topics_pattern must be set.
A regular expression matching the topics to subscribe to. This or topics must be set.
A URL to connect to.
4 nested properties
A Bloblang query that should return a boolean value indicating whether the input should now be closed.
The maximum amount of time without receiving new messages after which the input is closed.
The child input to consume from.
Whether the input should be reopened if it closes itself before the condition has resolved to true. Default: false
9 nested properties
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
The command used to pop elements from the Redis list Default: blpop
The key of a list to read from.
Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple
Name of the redis master when kind is failover Default:
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
The length of time to poll for new messages before reattempting. Default: 5s
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
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The URL of the target Redis server. Database is optional and is supplied as the URL path.
7 nested properties
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
A list of channels to consume from.
Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple
Name of the redis master when kind is failover Default:
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
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The URL of the target Redis server. Database is optional and is supplied as the URL path.
Whether to use the PSUBSCRIBE command, allowing for glob-style patterns within target channel names. Default: false
6 nested properties
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
Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple
Name of the redis master when kind is failover Default:
Iterates only elements matching the optional glob-style pattern. By default, it matches all elements. Default:
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
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The URL of the target Redis server. Database is optional and is supplied as the URL path.
14 nested properties
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
The field key to extract the raw message from. All other keys will be stored in the message as metadata. Default: body
An identifier for the client connection. Default:
The period of time between each commit of the current offset. Offsets are always committed during shutdown. Default: 1s
An identifier for the consumer group of the stream. Default:
Create subscribed streams if they do not exist (MKSTREAM option). Default: true
Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple
The maximum number of messages to consume from a single request. Default: 10
Name of the redis master when kind is failover Default:
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
A list of streams to consume from.
The length of time to poll for new messages before reattempting. Default: 1s
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
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The URL of the target Redis server. Database is optional and is supplied as the URL path.
Default:
8 nested properties
Access token for S2 account
Interval to backoff for before reconnecting to a stream Default: 100ms
Basin name
Cache resource label for storing sequence number
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 consuming the stream from either the earliest or the latest sequence number Default: earliest
Streams prefix or list of streams to subscribe to
Interval after which the streams list should update dynamically Default: 1m
2 nested properties
An array of inputs to read from sequentially.
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
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:
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
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
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
9 nested properties
The address of the server to connect to.
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
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.
The credentials to use to log into the target server.
4 nested properties
The password for the username to connect to the SFTP server. Default:
The private key for the username to connect to the SFTP server. Default:
Optional passphrase for private key. Default:
The username to connect to the SFTP server. Default:
Whether to delete files from the server once they are processed. Default: false
Default: 1000000
A list of paths to consume sequentially. Glob patterns are supported.
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[]]
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
A cache resource for storing the paths of files already consumed. Default:
Whether file watching is enabled. Default: false
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
The interval between each attempt to scan the target paths for new files. Default: 1s
6 nested properties
The address to connect to.
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
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.
Default: 1000000
A network type to assume (unix|tcp).
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[]]
8 nested properties
The address to listen from.
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.
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
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.
Default: 1000000
A network type to accept.
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 specific configuration, valid when the network is set to tls.
3 nested properties
PEM encoded certificate for use with TLS.
PEM encoded private key for use with TLS.
Whether to generate self signed certificates. Default: false
18 nested properties
A Bloblang mapping which should evaluate to an array of values matching in size to the number of columns specified.
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
Optional Fields that can be set to use Azure based authentication for Azure Postgres SQL
2 nested properties
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
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
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.
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.
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).
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
A database driver to use.
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:
| Driver | Data Source Name Format |
|---|---|
clickhouse | clickhouse://[username[:password]@][netloc][:port]/dbname[?param1=value1&...¶mN=valueN] |
mysql | [username[:password]@][protocol[(address)]]/dbname[?param1=value1&...¶mN=valueN] |
postgres | postgres://[user[:password]@][netloc][:port][/dbname][?param1=value1&...] |
mssql | sqlserver://[user[:password]@][netloc][:port][?database=dbname¶m1=value1&...] |
sqlite | file:/path/to/filename.db[?param&=value1&...] |
oracle | oracle://[username[:password]@][netloc][:port]/service_name?server=server2&server=server3 |
snowflake | username[:password]@account_identifier/dbname/schemaname[?param1=value&...¶mN=valueN] |
spanner | projects/[project]/instances/[instance]/databases/dbname |
trino | http[s]://user[:pass]@host[:port][?parameters] |
gocosmos | AccountEndpoint=<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.
Allows you to specify a custom endpoint for the AWS API. Default:
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
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.
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.
Whether to verify the database connection on startup by performing a simple ping, by default this is disabled. Default: false
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:
| Driver | Placeholder Style |
|---|---|
clickhouse | Dollar sign |
mysql | Question mark |
postgres | Dollar sign |
mssql | Question mark |
sqlite | Question mark |
oracle | Colon |
snowflake | Question mark |
spanner | Question mark |
trino | Question mark |
gocosmos | Colon |
The AWS region to target. Default:
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.
22 nested properties
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.
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
Optional Fields that can be set to use Azure based authentication for Azure Postgres SQL
2 nested properties
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
A list of columns to select.
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
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.
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.
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).
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
A database driver to use.
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:
| Driver | Data Source Name Format |
|---|---|
clickhouse | clickhouse://[username[:password]@][netloc][:port]/dbname[?param1=value1&...¶mN=valueN] |
mysql | [username[:password]@][protocol[(address)]]/dbname[?param1=value1&...¶mN=valueN] |
postgres | postgres://[user[:password]@][netloc][:port][/dbname][?param1=value1&...] |
mssql | sqlserver://[user[:password]@][netloc][:port][?database=dbname¶m1=value1&...] |
sqlite | file:/path/to/filename.db[?param&=value1&...] |
oracle | oracle://[username[:password]@][netloc][:port]/service_name?server=server2&server=server3 |
snowflake | username[:password]@account_identifier/dbname/schemaname[?param1=value&...¶mN=valueN] |
spanner | projects/[project]/instances/[instance]/databases/dbname |
trino | http[s]://user[:pass]@host[:port][?parameters] |
gocosmos | AccountEndpoint=<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.
Allows you to specify a custom endpoint for the AWS API. Default:
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
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.
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.
Whether to verify the database connection on startup by performing a simple ping, by default this is disabled. Default: false
An optional prefix to prepend to the select query (before SELECT).
The AWS region to target. Default:
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.
An optional suffix to append to the select query.
The table to select from.
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.
4 nested properties
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
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.
Default: 1000000
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[]]
5 nested properties
A list of arguments to provide the command. Default: []
The way in which messages should be consumed from the subprocess. Default: lines
The maximum expected size of an individual message. Default: 65536
The command to execute as a subprocess.
Whether the command should be re-executed each time the subprocess ends. Default: false
9 nested properties
An API key for OAuth 2.0 authentication. It is recommended that you populate this field using environment variables.
An API secret for OAuth 2.0 authentication. It is recommended that you populate this field using environment variables.
A duration string indicating the maximum age of tweets to acquire when starting a search. Default: 5m
A cache resource to use for request pagination.
The key identifier used when storing the ID of the last tweet received. Default: last_tweet_id
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
A search expression to use.
An optional rate limit resource to restrict API requests with. Default:
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: []
12 nested properties
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
Allows you to specify basic authentication.
3 nested properties
Whether to use basic authentication in requests. Default: false
A password to authenticate with. Default:
A username to authenticate as. Default:
Customise how websocket connection attempts are made.
1 nested properties
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).
A map of custom headers to add to the websocket handshake. Default: map[]
BETA: Allows you to specify JWT authentication.
5 nested properties
A value used to identify the claims that issued the JWT. Default: map[]
Whether to use JWT authentication in requests. Default: false
Add optional key/value headers to the JWT. Default: map[]
A file with the PEM encoded via PKCS1 or PKCS8 as private key. Default:
A method used to sign the token such as RS256, RS384, RS512 or EdDSA. Default:
Allows you to specify open authentication via OAuth version 1.
5 nested properties
A value used to gain access to the protected resources on behalf of the user. Default:
A secret provided in order to establish ownership of a given access token. Default:
A value used to identify the client to the service provider. Default:
A secret used to establish ownership of the consumer key. Default:
Whether to use OAuth version 1 in requests. Default: false
An optional message to send to the server upon connection.
An optional flag to indicate the data type of open_message. Default: binary
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.
An optional HTTP proxy URL.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The URL to connect to.
6 nested properties
Whether to bind to the specified URLs (otherwise they are connected to). Default: false
The message high water mark to use. (experimental i go-zeromq) Default: 0
The poll timeout to use. Default: 5s
The socket type to connect as.
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: []
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
A list of input resources, each must have a unique label. Default: []
62 nested properties
10 nested properties
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
Allows you to passively declare bindings for the target queue.
A consumer tag. Default:
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: []
The maximum number of pending messages to have consumed at a time. Default: 10
The maximum amount of pending messages measured in bytes to have consumed at a time. Default: 0
An AMQP queue to consume from.
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
Whether the declared queue will auto-delete. Default: false
Whether the declared queue is durable. Default: true
Whether to enable queue declaration. Default: false
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
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.
8 nested properties
Experimental: Azure service bus specific option to renew lock if processing takes more then configured lock time Default: false
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 additional message header fields into amqp_* metadata properties. Default: false
Enables SASL authentication.
3 nested properties
The SASL authentication mechanism to use. Default: none
A SASL plain text password. It is recommended that you use environment variables to populate this field. Default:
A SASL plain text username. It is recommended that you use environment variables to populate this field. Default:
The source address to consume from.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A URL to connect to.
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.
12 nested properties
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
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
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
The period of time between each update to the checkpoint table. Default: 5s
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
Determines the table used for storing and accessing the latest consumed sequence for shards, and for coordinating balanced consumers of streams.
5 nested properties
When creating the table determines the billing mode. Default: PAY_PER_REQUEST
Whether, if the table does not exist, it should be created. Default: false
Set the provisioned read capacity when creating the table with a billing_mode of PROVISIONED. Default: 0
The name of the table to access. Default:
Set the provisioned write capacity when creating the table with a billing_mode of PROVISIONED. Default: 0
Allows you to specify a custom endpoint for the AWS API. Default:
The period of time after which a client that has failed to update a shard checkpoint is assumed to be inactive. Default: 30s
The period of time between each attempt to rebalance shards across clients. Default: 30s
The AWS region to target. Default:
Whether to consume from the oldest message when a sequence does not yet exist for the stream. Default: true
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.
11 nested properties
The bucket to consume from. If the field sqs.url is specified this field is optional. Default:
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.
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
Whether to delete downloaded objects from the bucket once they are processed. Default: false
Allows you to specify a custom endpoint for the AWS API. Default:
Forces the client API to use path style URLs for downloading keys, which is often required when connecting to custom endpoints. Default: false
Default: 1000000
An optional path prefix, if set only objects with the prefix are consumed when walking a bucket. Default:
The AWS region to target. Default:
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[]]
Consume SQS messages in order to trigger key downloads.
8 nested properties
A dot path whereby the bucket name can be found in SQS messages. Default: Records.*.s3.bucket.name
An optional period of time to wait from when a notification was originally sent to when the target key download is attempted. Default:
A custom endpoint to use when connecting to SQS. Default:
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:
A dot path whereby object keys are found in SQS messages. Default: Records.*.s3.object.key
The maximum number of SQS messages to consume from each request. Default: 10
An optional SQS URL to connect to. When specified this queue will control which objects are downloaded. Default:
Whether to set the wait time. Enabling this activates long-polling. Valid values: 0 to 20. Default: 0
10 nested properties
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
A map used to send custom HTTP headers alongside each SQS operation to AWS. Default: map[]
Whether to delete the consumed message once it is acked. Disabling allows you to handle the deletion using a different mechanism. Default: true
Allows you to specify a custom endpoint for the AWS API. Default:
The maximum number of messages to return on one poll. Valid values: 1 to 10. Default: 10
The AWS region to target. Default:
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
Whether to periodically refresh the visibility timeout of in-flight messages to prevent more-than-once delivery while still processing. Default: true
The SQS URL to consume from.
Whether to set the wait time. Enabling this activates long-polling. Valid values: 0 to 20. Default: 0
11 nested properties
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.
The name of the container from which to download blobs.
Whether to delete downloaded objects from the blob once they are processed. Default: false
Default: 1000000
An optional path prefix, if set only objects with the prefix are consumed. Default:
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[]]
The storage account access key. This field is ignored if storage_connection_string is set. Default:
The storage account to access. This field is ignored if storage_connection_string is set. Default:
A storage account connection string. This field is required if storage_account and storage_access_key / storage_sas_token are not set. Default:
The storage account SAS token. This field is ignored if storage_connection_string or storage_access_key are set. Default:
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.
10 nested properties
Account key.
A Bloblang mapping that, for each message, creates a list of arguments to use with the query.
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
The maximum number of messages that should be accumulated into each batch. Use '-1' specify dynamic page size. Default: -1
Connection string.
Container.
Database.
CosmosDB endpoint.
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.
The query to execute
8 nested properties
The timeout duration until a dequeued message gets visible again, 30s by default Default: 30s
The maximum number of unprocessed messages to fetch at a given time. Default: 10
The name of the source storage queue.
The storage account access key. This field is ignored if storage_connection_string is set. Default:
The storage account to access. This field is ignored if storage_connection_string is set. Default:
A storage account connection string. This field is required if storage_account and storage_access_key / storage_sas_token are not set. Default:
Default:
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
7 nested properties
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
The Service Bus connection string. This can be obtained from the Azure portal. If not provided, namespace and default credentials will be used. Default:
The maximum number of unprocessed messages to fetch at a given time. Default: 10
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: []
The Service Bus namespace. Required when connection_string is not provided. Default:
The name of the Service Bus queue to consume from.
Automatically renew message locks to prevent lock expiration during processing. Useful for long-running message processing. Default: true
8 nested properties
OData filter expression. Is not set all rows are returned. Valid operators are eq, ne, gt, lt, ge and le Default:
Maximum number of records to return on each page. Default: 1000
Select expression using OData notation. Limits the columns on each record to just those requested. Default:
The storage account access key. This field is ignored if storage_connection_string is set. Default:
The storage account to access. This field is ignored if storage_connection_string is set. Default:
A storage account connection string. This field is required if storage_account and storage_access_key / storage_sas_token are not set. Default:
The storage account SAS token. This field is ignored if storage_connection_string or storage_access_key are set. Default:
The table to read messages from.
2 nested properties
The child input.
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
1 nested properties
An address to connect to.
3 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Whatever is specified within inputs will be created this many times. Default: 1
A list of inputs to create.
9 nested properties
A list of Cassandra nodes to connect to. Multiple comma separated addresses can be specified on a single line.
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
Control time intervals between retry attempts.
2 nested properties
The initial period to wait between retry attempts. Default: 1s
The maximum period to wait between retry attempts. Default: 5s
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
The maximum number of retries before giving up on a request. Default: 3
Optional configuration of Cassandra authentication parameters.
3 nested properties
Whether to use password authentication Default: false
The password to authenticate with. Default:
The username to authenticate as. Default:
A query to execute.
The client connection timeout. Default: 600ms
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
6 nested properties
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
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.
A Data Source Name to identify the target database.
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.
CSV of tables to be included in the changefeed
Custom TLS settings can be used to override system defaults.
5 nested properties
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: []
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
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:
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:
Whether to skip server side certificate verification. Default: false
9 nested properties
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
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
Whether to delete input files from the disk once they are fully consumed. Default: false
The delimiter to use for splitting values in each record. It must be a single character. Default: ,
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.
The number of expected fields in the csv file.
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
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
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).
7 nested properties
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 Authentication fields
3 nested properties
The password for basic auth. Default:
The realm for basic auth. Default:
The username for basic auth. Default:
The name of the database to connect to.
Set to true to connect without authentication. Default: false
The cypher query to execute.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The URL of the database engine.
8 nested properties
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
A bot token used for authentication.
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.
The key identifier used when storing the ID of the last message received. Default: last_message_id
A discord channel ID to consume messages from.
The maximum number of messages to receive in a single request. Default: 100
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
Default: An optional rate limit resource to restrict API requests with.
2 nested properties
A map of inputs to statically create. Default: map[]
A path prefix for HTTP endpoints that are registered. Default:
18 nested properties
Optional configuration of etcd authentication headers.
3 nested properties
Whether to use password authentication Default: false
The password to authenticate with. Default:
The username to authenticate as. Default:
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
The interval to update endpoints with its latest members. 0 disables auto-sync. By default auto-sync is disabled.
The jitter fraction to randomize backoff wait time.
The wait time before retrying an RPC.
Timeout for failing to establish a connection. Default: 5s
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.
Time after which client pings the server to see if transport is alive. Default: 5s
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
The key or prefix being watched. For prefix watching, options.with_prefix should be true
The client-side response receive limit. If 0, it defaults to math.MaxInt32.
The client-side request send limit in bytes. If 0, it defaults to 2.0 MiB (2 * 1024 * 1024).
The maximum number of retries for unary RPCs.
Collection of options to configure an etcd watcher.
6 nested properties
Whether to send CREATED notify events to the watcher. Default: false
Whether to discard DELETE events from the watcher. Default: false
Whether to watch for events on a prefix. Default: false
Whether to send periodic progress updates every 10 minutes when there is no incoming events. Default: false
Whether to discard PUT events from the watcher. Default: false
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:
When set, will allow client to send keepalive pings to server without any active streams (RPCs). Default: false
When set, will refuse to create a client against an outdated cluster. Default: false
Timeout for a single request. This includes connection time, any redirects, and header wait time. Default: 1s
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
6 nested properties
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
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.
Whether to delete input files from the disk once they are fully consumed. Default: false
Default: 1000000
A list of paths to consume sequentially. Glob patterns are supported, including super globs (double star).
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[]]
10 nested properties
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.
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
A list of columns to query.
A list of labels to add to the query job. Default: map[]
An optional prefix to prepend to the select query (before SELECT).
The priority with which to schedule the query. Default:
GCP project where the query job will execute.
An optional suffix to append to the select query.
Fully-qualified BigQuery table name to query.
An optional where clause to add. Placeholder arguments are populated with the args_mapping field. Placeholders should always be question marks (?).
6 nested properties
The name of the bucket from which to download objects.
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.
Whether to delete downloaded objects from the bucket once they are processed. Default: false
Default: 1000000
An optional path prefix, if set only objects with the prefix are consumed. Default:
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[]]
7 nested properties
Allows you to configure the input subscription and creates if it doesn't exist.
2 nested properties
Whether to configure subscription or not. Default: false
Defines the topic that the subscription should be vinculated to. Default:
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:
The maximum number of outstanding pending messages to be consumed measured in bytes. Default: 1e+09
The maximum number of outstanding pending messages to be consumed at a given time. Default: 1000
The project ID of the target subscription.
The target subscription ID.
Enable synchronous pull mode. Default: false
6 nested properties
An optional field to define the end time to read from the changestreams, timestamp format should conform to RFC3339
An optional field to configure the heartbeat interval for partitions. Default: 3s
The maximum number of messages to have pulled in. Default: 1024
The dsn for spanner from where to read the changestream.
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
The name of the stream to track changes on.
5 nested properties
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
The number of generated messages that should be accumulated into each batch flushed at the specified interval. Default: 1
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
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
A bloblang mapping to use for generating messages.
3 nested properties
The directory to consume from.
A list of target host addresses to connect to.
A user ID to connect as. Default:
25 nested properties
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
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]
Allows you to specify basic authentication.
3 nested properties
Whether to use basic authentication in requests. Default: false
A password to authenticate with. Default:
A username to authenticate as. Default:
Whether empty payloads received from the target server should be dropped. Default: true
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: []
EXPERIMENTAL: Optionally set a level at which the request and response payload of each request made will be logged. Default:
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
Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []
Provide a list of explicit metadata key prefixes to match against. Default: []
A map of headers to add to the request. Default: map[]
BETA: Allows you to specify JWT authentication.
5 nested properties
A value used to identify the claims that issued the JWT. Default: map[]
Whether to use JWT authentication in requests. Default: false
Add optional key/value headers to the JWT. Default: map[]
A file with the PEM encoded via PKCS1 or PKCS8 as private key. Default:
A method used to sign the token such as RS256, RS384, RS512 or EdDSA. Default:
The maximum period to wait between failed requests. Default: 300s
Specify optional matching rules to determine which metadata keys should be added to the HTTP request as headers.
2 nested properties
Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []
Provide a list of explicit metadata key prefixes to match against. Default: []
Allows you to specify open authentication via OAuth version 1.
5 nested properties
A value used to gain access to the protected resources on behalf of the user. Default:
A secret provided in order to establish ownership of a given access token. Default:
A value used to identify the client to the service provider. Default:
A secret used to establish ownership of the consumer key. Default:
Whether to use OAuth version 1 in requests. Default: false
Allows you to specify open authentication via OAuth version 2 using the client credentials token flow.
6 nested properties
A value used to identify the client to the token provider. Default:
A secret used to establish ownership of the client key. Default:
Whether to use OAuth version 2 in requests. Default: false
A list of optional endpoint parameters, values should be arrays of strings. Default: map[]
A list of optional requested permissions. Default: []
The URL of the token provider. Default:
An optional payload to deliver for each request.
An optional HTTP proxy URL.
An optional rate limit to throttle requests by.
The maximum number of retry attempts to make. Default: 3
The base period to wait between failed requests. Default: 1s
Allows you to set streaming mode, where requests are kept open and messages are processed line-by-line.
5 nested properties
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.
Enables streaming mode. Default: false
Default: 1000000
Sets whether to re-establish the connection once it is lost. Default: true
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[]]
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: []
A static timeout to apply to requests. Default: 5s
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
Custom transport options.
6 nested properties
Settings for the dialer used to create new connections.
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
If true, the transport will attempt to use HTTP/2. Default: true
Maximum time an idle keep-alive connection remains open before closing itself. Default: 90s
Maximum number of idle keep-alive connections. Zero = unlimited. Default: 100
Maximum time allowed for TLS handshake to complete. Default: 10s
The URL to connect to.
A verb to connect with Default: GET
12 nested properties
An alternative address to host from. If left empty the service wide address is used. Default:
An array of verbs that are allowed for the path endpoint. Default: [POST]
Enable TLS by specifying a certificate and key file. Only valid with a custom address. Default:
Adds Cross-Origin Resource Sharing headers. Only valid with a custom address.
4 nested properties
Appends additional headers to the list of default allowed headers: Accept, Accept-Language, Content-Language & Origin. These default headers are therefore always allowed. Default: []
Used to explicitly set allowed methods in the Access-Control-Allow-Methods header. Default: [GET HEAD POST PUT PATCH DELETE]
An explicit list of origins that are allowed for CORS requests. Default: []
Whether to allow CORS requests. Default: false
Enable TLS by specifying a certificate and key file. Only valid with a custom address. Default:
The endpoint path to listen for POST requests. Default: /post
An optional rate limit to throttle requests by. Default:
Customise messages returned via synchronous responses.
3 nested properties
Specify headers to return with synchronous responses. Default: map[Content-Type:application/octet-stream]
Specify criteria for which metadata values are added to the response as headers.
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
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
The endpoint path to create websocket connections from. Default: /post/ws
An optional message to delivery to websocket connections that are rate limited. Default:
An optional message to deliver to fresh websocket connections. Default:
Default:
19 nested properties
A list of broker addresses to connect to. If an item of the list contains commas it will be expanded into multiple addresses.
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
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
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
An identifier for the client connection. Default: bento
The period of time between each commit of the current partition offsets. Offsets are always committed during shutdown. Default: 1s
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:
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.
The maximum number of unprocessed messages to fetch at a given time. Default: 256
Tuning parameters for consumer group synchronization.
3 nested properties
A period in which heartbeats should be sent out. Default: 3s
A period after which rebalancing is abandoned if unresolved. Default: 60s
A period after which a consumer of the group is kicked after no heartbeats. Default: 10s
A maximum estimate for the time taken to process a message, this is used for tuning consumer group synchronization. Default: 100ms
Decode headers into lists to allow handling of multiple values with the same key Default: false
EXPERIMENTAL: Starts a new root span with link to parent.
A rack identifier for this client. Default:
Enables SASL authentication.
7 nested properties
A static OAUTHBEARER access token Default:
Contains AWS specific fields for when the mechanism is set to AWS_MSK_IAM.
The SASL authentication mechanism, if left empty SASL authentication is not used. Default: none
A PLAIN password. It is recommended that you use environment variables to populate this field. Default:
Instead of using a static access_token allows you to query a cache resource to fetch OAUTHBEARER tokens from Default:
Required when using a token_cache, the key to query the cache with for tokens. Default:
A PLAIN username. It is recommended that you use environment variables to populate this field. Default:
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
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.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
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.
23 nested properties
Determines which offset to automatically consume from, matching Kafka's auto.offset.reset property. When specified, this takes precedence over start_from_oldest.
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
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.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
:::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
An identifier for the client connection. Default: bento
The period of time between each commit of the current partition offsets. Offsets are always committed during shutdown. Default: 5s
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.
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
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
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
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]
This sets the maximum age for the client's cached metadata, to allow detection of new topics, partitions, etc. Default: 5m
Decode headers into lists to allow handling of multiple values with the same key Default: false
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.
A rack identifier for this client. Default:
An optional rate_limit to throttle invocations by. Default:
Determines whether to close the client and force a reconnect after seeing an UNKNOWN_TOPIC_OR_PARTITION or UNKNOWN_TOPIC_ID error. Default: false
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
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.
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.
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
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
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.
21 nested properties
Kubernetes API server URL. Only used when providing explicit credentials. Default:
Automatically detect authentication method. Tries in-cluster config first, then falls back to kubeconfig. Default: true
Control time intervals between retry attempts.
3 nested properties
The initial period to wait between retry attempts. Default: 1s
The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 0s
The maximum period to wait between retry attempts. Default: 60s
Path to CA certificate file for verifying API server. Default:
Burst limit for Kubernetes API client. 0 uses the client-go default. Default: 0
QPS limit for Kubernetes API client. 0 uses the client-go default. Default: 0
Kubernetes context to use from kubeconfig. If empty, uses the current context. Default:
Custom Resource Definition to watch. Use this for CRDs instead of 'resource'.
3 nested properties
API group for the custom resource (e.g., 'stable.example.com'). Default:
Plural name of the custom resource (e.g., 'crontabs'). Default:
API version for the custom resource (e.g., 'v1', 'v1beta1'). Default: v1
Watch event types to include. Valid values are ADDED, MODIFIED, and DELETED. Default: [ADDED MODIFIED DELETED]
Kubernetes field selector to filter resources. Default: map[]
Emit ADDED events for all existing resources when starting. Default: true
Skip TLS certificate verification. Not recommended for production. Default: false
Path to kubeconfig file. If empty, uses $KUBECONFIG (if set) or the default kubeconfig location (~/.kube/config). Default:
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:
Kubernetes label selector to filter resources. Default: map[]
The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0
Namespaces to watch. Empty list means all namespaces. Default: []
Timeout for Kubernetes API requests such as list calls. Use "0s" to disable. Default: 30s
Standard Kubernetes resource type to watch. Default:
Bearer token for authentication. Can be a service account token. Default:
Path to file containing bearer token. Default:
12 nested properties
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
A explicit number of documents to batch up before flushing them for processing. Must be greater than 0. Operations: find, aggregate
The collection to select from.
The name of the target MongoDB database.
The json_marshal_mode setting is optional and controls the format of the output message. Default: canonical
An explicit maximum number of documents to return. Operations: find
The mongodb operation to perform. Default: find
The password to connect to the database. Default:
Bloblang expression describing MongoDB query.
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
The URL of the target MongoDB server.
The username to connect to the database. Default:
13 nested properties
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
Set whether the connection is non-persistent. Default: true
An identifier for the client connection. Default:
The maximum amount of time to wait in order to establish a connection before the attempt is abandoned. Default: 30s
Append a dynamically generated suffix to the specified client_id on each run of the pipeline. This can be useful when clustering Bento producers.
Max seconds of inactivity before a keepalive message is sent. Default: 30
A password to connect with. Default:
The level of delivery guarantee to enforce. Has options 0, 1, 2. Default: 1
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A list of topics to consume from.
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
A username to connect with. Default:
Set last will message in case of Bento failure
5 nested properties
Whether to enable last will messages. Default: false
Set payload for last will message. Default:
Set QoS for last will message. Valid values are: 0, 1, 2. Default: 0
Set retained for last will message. Default: false
Set topic for last will message. Default:
6 nested properties
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
Whether the URLs provided should be connected to, or bound as. Default: true
The period to wait until a poll is abandoned and reattempted. Default: 5s
The socket type to use. Default: PULL
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: []
A list of URLs to connect to (or as). If an item of the list contains commas it will be expanded into multiple URLs.
10 nested properties
Optional configuration of NATS authentication parameters.
4 nested properties
An optional file containing a NKey seed.
An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.
An optional plain text user JWT (given along with the corresponding user NKey Seed).
An optional plain text user NKey Seed (given along with the corresponding user JWT).
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
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.
An optional delay duration on redelivering a message when negatively acknowledged.
EXPERIMENTAL: Starts a new root span with link to parent.
The maximum number of messages to pull at a time. Default: 524288
An optional queue group to consume as.
A subject to consume from. Supports wildcards for consuming multiple subjects. Either a subject or stream must be specified.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
13 nested properties
The maximum amount of time NATS server should wait for an ack from consumer. Default: 30s
Optional configuration of NATS authentication parameters.
4 nested properties
An optional file containing a NKey seed.
An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.
An optional plain text user JWT (given along with the corresponding user NKey Seed).
An optional plain text user NKey Seed (given along with the corresponding user JWT).
Indicates that the subscription should use an existing consumer.
Determines which messages to deliver when consuming without a durable subscriber. Default: all
Preserve the state of your consumer under a durable name.
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.
The maximum number of outstanding acks to be allowed before consuming is halted. Default: 1024
EXPERIMENTAL: Starts a new root span with link to parent.
An optional queue group to consume as.
A stream to consume from. Either a subject or stream must be specified.
A subject to consume from. Supports wildcards for consuming multiple subjects. Either a subject or stream must be specified.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
9 nested properties
Optional configuration of NATS authentication parameters.
4 nested properties
An optional file containing a NKey seed.
An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.
An optional plain text user JWT (given along with the corresponding user NKey Seed).
An optional plain text user NKey Seed (given along with the corresponding user JWT).
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
The name of the KV bucket.
Do not send delete markers as messages. Default: false
Include all the history per key, not just the last one. Default: false
Key to watch for updates, can include wildcards. Default: >
Retrieve only the metadata of the entry Default: false
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
5 nested properties
Optional configuration of NATS authentication parameters.
4 nested properties
An optional file containing a NKey seed.
An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.
An optional plain text user JWT (given along with the corresponding user NKey Seed).
An optional plain text user NKey Seed (given along with the corresponding user JWT).
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
The name of the object store bucket.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
14 nested properties
An optional duration to specify at which a message that is yet to be acked will be automatically retried. Default: 30s
Optional configuration of NATS authentication parameters.
4 nested properties
An optional file containing a NKey seed.
An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.
An optional plain text user JWT (given along with the corresponding user NKey Seed).
An optional plain text user NKey Seed (given along with the corresponding user JWT).
A client ID to connect as. Default:
The ID of the cluster to consume from.
Preserve the state of your consumer under a durable name. Default:
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.
The maximum number of unprocessed messages to fetch at a given time. Default: 1024
EXPERIMENTAL: Starts a new root span with link to parent.
The queue to consume from. Default:
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
A subject to consume from. Default:
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
Whether the subscription should be destroyed when this client disconnects. Default: false
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
9 nested properties
An optional secret for NSQ authentication (requires nsqd 0.2.29+).
The channel to consume from.
A list of nsqlookupd addresses to connect to.
The maximum number of attempts to successfully consume a messages. Default: 5
The maximum number of pending messages to consume at any given time. Default: 100
A list of nsqd addresses to connect to.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The topic to consume from.
A user agent to assume when connecting.
4 nested properties
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
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
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).
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
7 nested properties
Optional configuration of Pulsar authentication methods.
2 nested properties
Parameters for Pulsar OAuth2 authentication.
Parameters for Pulsar Token authentication.
Specify the subscription name for this consumer.
Specify the subscription type for this consumer.
NOTE: Using a
key_sharedsubscription 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
Specify the path to a custom CA certificate to trust broker TLS service.
1 nested properties
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:
A list of topics to subscribe to. This or topics_pattern must be set.
A regular expression matching the topics to subscribe to. This or topics must be set.
A URL to connect to.
4 nested properties
A Bloblang query that should return a boolean value indicating whether the input should now be closed.
The maximum amount of time without receiving new messages after which the input is closed.
The child input to consume from.
Whether the input should be reopened if it closes itself before the condition has resolved to true. Default: false
9 nested properties
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
The command used to pop elements from the Redis list Default: blpop
The key of a list to read from.
Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple
Name of the redis master when kind is failover Default:
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
The length of time to poll for new messages before reattempting. Default: 5s
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
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The URL of the target Redis server. Database is optional and is supplied as the URL path.
7 nested properties
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
A list of channels to consume from.
Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple
Name of the redis master when kind is failover Default:
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
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The URL of the target Redis server. Database is optional and is supplied as the URL path.
Whether to use the PSUBSCRIBE command, allowing for glob-style patterns within target channel names. Default: false
6 nested properties
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
Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple
Name of the redis master when kind is failover Default:
Iterates only elements matching the optional glob-style pattern. By default, it matches all elements. Default:
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
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The URL of the target Redis server. Database is optional and is supplied as the URL path.
14 nested properties
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
The field key to extract the raw message from. All other keys will be stored in the message as metadata. Default: body
An identifier for the client connection. Default:
The period of time between each commit of the current offset. Offsets are always committed during shutdown. Default: 1s
An identifier for the consumer group of the stream. Default:
Create subscribed streams if they do not exist (MKSTREAM option). Default: true
Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple
The maximum number of messages to consume from a single request. Default: 10
Name of the redis master when kind is failover Default:
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
A list of streams to consume from.
The length of time to poll for new messages before reattempting. Default: 1s
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
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The URL of the target Redis server. Database is optional and is supplied as the URL path.
Default:
8 nested properties
Access token for S2 account
Interval to backoff for before reconnecting to a stream Default: 100ms
Basin name
Cache resource label for storing sequence number
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 consuming the stream from either the earliest or the latest sequence number Default: earliest
Streams prefix or list of streams to subscribe to
Interval after which the streams list should update dynamically Default: 1m
2 nested properties
An array of inputs to read from sequentially.
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
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:
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
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
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
9 nested properties
The address of the server to connect to.
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
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.
The credentials to use to log into the target server.
4 nested properties
The password for the username to connect to the SFTP server. Default:
The private key for the username to connect to the SFTP server. Default:
Optional passphrase for private key. Default:
The username to connect to the SFTP server. Default:
Whether to delete files from the server once they are processed. Default: false
Default: 1000000
A list of paths to consume sequentially. Glob patterns are supported.
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[]]
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
A cache resource for storing the paths of files already consumed. Default:
Whether file watching is enabled. Default: false
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
The interval between each attempt to scan the target paths for new files. Default: 1s
6 nested properties
The address to connect to.
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
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.
Default: 1000000
A network type to assume (unix|tcp).
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[]]
8 nested properties
The address to listen from.
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.
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
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.
Default: 1000000
A network type to accept.
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 specific configuration, valid when the network is set to tls.
3 nested properties
PEM encoded certificate for use with TLS.
PEM encoded private key for use with TLS.
Whether to generate self signed certificates. Default: false
18 nested properties
A Bloblang mapping which should evaluate to an array of values matching in size to the number of columns specified.
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
Optional Fields that can be set to use Azure based authentication for Azure Postgres SQL
2 nested properties
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
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
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.
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.
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).
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
A database driver to use.
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:
| Driver | Data Source Name Format |
|---|---|
clickhouse | clickhouse://[username[:password]@][netloc][:port]/dbname[?param1=value1&...¶mN=valueN] |
mysql | [username[:password]@][protocol[(address)]]/dbname[?param1=value1&...¶mN=valueN] |
postgres | postgres://[user[:password]@][netloc][:port][/dbname][?param1=value1&...] |
mssql | sqlserver://[user[:password]@][netloc][:port][?database=dbname¶m1=value1&...] |
sqlite | file:/path/to/filename.db[?param&=value1&...] |
oracle | oracle://[username[:password]@][netloc][:port]/service_name?server=server2&server=server3 |
snowflake | username[:password]@account_identifier/dbname/schemaname[?param1=value&...¶mN=valueN] |
spanner | projects/[project]/instances/[instance]/databases/dbname |
trino | http[s]://user[:pass]@host[:port][?parameters] |
gocosmos | AccountEndpoint=<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.
Allows you to specify a custom endpoint for the AWS API. Default:
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
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.
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.
Whether to verify the database connection on startup by performing a simple ping, by default this is disabled. Default: false
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:
| Driver | Placeholder Style |
|---|---|
clickhouse | Dollar sign |
mysql | Question mark |
postgres | Dollar sign |
mssql | Question mark |
sqlite | Question mark |
oracle | Colon |
snowflake | Question mark |
spanner | Question mark |
trino | Question mark |
gocosmos | Colon |
The AWS region to target. Default:
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.
22 nested properties
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.
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
Optional Fields that can be set to use Azure based authentication for Azure Postgres SQL
2 nested properties
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
A list of columns to select.
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
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.
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.
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).
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
A database driver to use.
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:
| Driver | Data Source Name Format |
|---|---|
clickhouse | clickhouse://[username[:password]@][netloc][:port]/dbname[?param1=value1&...¶mN=valueN] |
mysql | [username[:password]@][protocol[(address)]]/dbname[?param1=value1&...¶mN=valueN] |
postgres | postgres://[user[:password]@][netloc][:port][/dbname][?param1=value1&...] |
mssql | sqlserver://[user[:password]@][netloc][:port][?database=dbname¶m1=value1&...] |
sqlite | file:/path/to/filename.db[?param&=value1&...] |
oracle | oracle://[username[:password]@][netloc][:port]/service_name?server=server2&server=server3 |
snowflake | username[:password]@account_identifier/dbname/schemaname[?param1=value&...¶mN=valueN] |
spanner | projects/[project]/instances/[instance]/databases/dbname |
trino | http[s]://user[:pass]@host[:port][?parameters] |
gocosmos | AccountEndpoint=<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.
Allows you to specify a custom endpoint for the AWS API. Default:
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
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.
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.
Whether to verify the database connection on startup by performing a simple ping, by default this is disabled. Default: false
An optional prefix to prepend to the select query (before SELECT).
The AWS region to target. Default:
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.
An optional suffix to append to the select query.
The table to select from.
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.
4 nested properties
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
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.
Default: 1000000
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[]]
5 nested properties
A list of arguments to provide the command. Default: []
The way in which messages should be consumed from the subprocess. Default: lines
The maximum expected size of an individual message. Default: 65536
The command to execute as a subprocess.
Whether the command should be re-executed each time the subprocess ends. Default: false
9 nested properties
An API key for OAuth 2.0 authentication. It is recommended that you populate this field using environment variables.
An API secret for OAuth 2.0 authentication. It is recommended that you populate this field using environment variables.
A duration string indicating the maximum age of tweets to acquire when starting a search. Default: 5m
A cache resource to use for request pagination.
The key identifier used when storing the ID of the last tweet received. Default: last_tweet_id
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
A search expression to use.
An optional rate limit resource to restrict API requests with. Default:
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: []
12 nested properties
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
Allows you to specify basic authentication.
3 nested properties
Whether to use basic authentication in requests. Default: false
A password to authenticate with. Default:
A username to authenticate as. Default:
Customise how websocket connection attempts are made.
1 nested properties
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).
A map of custom headers to add to the websocket handshake. Default: map[]
BETA: Allows you to specify JWT authentication.
5 nested properties
A value used to identify the claims that issued the JWT. Default: map[]
Whether to use JWT authentication in requests. Default: false
Add optional key/value headers to the JWT. Default: map[]
A file with the PEM encoded via PKCS1 or PKCS8 as private key. Default:
A method used to sign the token such as RS256, RS384, RS512 or EdDSA. Default:
Allows you to specify open authentication via OAuth version 1.
5 nested properties
A value used to gain access to the protected resources on behalf of the user. Default:
A secret provided in order to establish ownership of a given access token. Default:
A value used to identify the client to the service provider. Default:
A secret used to establish ownership of the consumer key. Default:
Whether to use OAuth version 1 in requests. Default: false
An optional message to send to the server upon connection.
An optional flag to indicate the data type of open_message. Default: binary
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.
An optional HTTP proxy URL.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The URL to connect to.
6 nested properties
Whether to bind to the specified URLs (otherwise they are connected to). Default: false
The message high water mark to use. (experimental i go-zeromq) Default: 0
The poll timeout to use. Default: 5s
The socket type to connect as.
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: []
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
Describes how operational logs should be emitted.
9 nested properties
Whether to include timestamps in logs. Default: false
Experimental: Specify fields for optionally writing logs to a file.
3 nested properties
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:
Whether to rotate log files automatically. Default: false
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
Set the format of emitted logs. Default: logfmt
Set the minimum severity level for emitting logs. Default: INFO
The name of the level field added to logs when the format is json. Default: level
Experimental: When set, the logger will promote any log containing an error type to the ERROR level. Default: false
The name of the message field added to logs when the format is json. Default: msg
A map of key/value pairs to add to each structured log. Default: map[@service:bento]
The name of the timestamp field added to logs when add_timestamp is set to true and the format is json. Default: time
A mechanism for exporting metrics. Default: map[mapping: prometheus:map[]]
7 nested properties
5 nested properties
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
Allows you to specify a custom endpoint for the AWS API. Default:
The period of time between PutMetricData requests. Default: 100ms
The namespace used to distinguish metrics from other services. Default: Bento
The AWS region to target. Default:
13 nested properties
The name of the database to use.
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
A duration string indicating how often to poll and collect GC metrics. Leave empty to disable this metric. Default:
A duration string indicating how often to poll and collect runtime metrics. Leave empty to disable this metric Default:
A duration string indicating how often metrics should be flushed. Default: 1m
A password (when applicable). Default:
A duration string indicating how often to ping the host. Default: 20s
[ns|us|ms|s] timestamp precision passed to write api. Default: s
Sets the retention policy for each write.
Global tags added to each metric. Default: map[]
How long to wait for response for both ping and writing metrics. Default: 5s
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A URL of the format [https|http|udp]://host:port to the InfluxDB host.
A username (when applicable). Default:
[any|one|quorum|all] sets write consistency when available.
Default: map[]
2 nested properties
Whether counters and timing metrics should be reset to 0 each time metrics are printed. Default: false
An optional period of time to continuously print all metrics.
Default: map[]
11 nested properties
Whether to export Go runtime metrics such as GC pauses in addition to Bento metrics. Default: false
Whether to export process metrics such as CPU and memory usage in addition to Bento metrics. Default: false
An optional file path to write all prometheus metrics on service shutdown. Default:
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: []
The Basic Authentication credentials.
2 nested properties
The Basic Authentication password. Default:
The Basic Authentication username. Default:
The period of time between each push when sending metrics to a Push Gateway.
An identifier for push jobs. Default: bento_push
An optional Push Gateway URL to push metrics to.
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]]
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
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
3 nested properties
The address to send metrics to.
The time interval between metrics flushes. Default: 100ms
Metrics tagging is supported in a variety of formats. Default: none
An output to sink messages to. Default: map[stdout:map[]]
73 nested properties
21 nested properties
Set the application ID of each message with a dynamic interpolated expression. Default:
The content encoding attribute to set for each message. Default:
The content type attribute to set for each message. Default: application/octet-stream
Set the correlation ID of each message with a dynamic interpolated expression. Default:
An AMQP exchange to publish to.
Optionally declare the target exchange (passive).
3 nested properties
Whether the exchange should be durable. Default: true
Whether to declare the exchange. Default: false
The type of the exchange. Default: direct
Set the per-message TTL Default:
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
The binding key to set for each message. Default:
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
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
Set the message ID of each message with a dynamic interpolated expression. Default:
Specify criteria for which metadata values are attached to messages as headers.
1 nested properties
Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []
Whether message delivery should be persistent (transient by default). Default: false
Set the priority of each message with a dynamic interpolated expression. Default:
Carries response queue name - set with a dynamic interpolated expression. Default:
The maximum period to wait before abandoning it and reattempting. If not set, wait indefinitely. Default:
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The type property to set for each message. Default:
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.
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:
8 nested properties
An optional Bloblang mapping that can be defined in order to set the application-properties on output messages.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
Specify criteria for which metadata values are attached to messages as headers.
1 nested properties
Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []
Enables SASL authentication.
3 nested properties
The SASL authentication mechanism to use. Default: none
A SASL plain text password. It is recommended that you use environment variables to populate this field. Default:
A SASL plain text username. It is recommended that you use environment variables to populate this field. Default:
The target address to write to.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A URL to connect to.
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.
13 nested properties
Control time intervals between retry attempts.
3 nested properties
The initial period to wait between retry attempts. Default: 1s
The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s
The maximum period to wait between retry attempts. Default: 5s
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
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
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:
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:
The sort key for DeleteItem requests. The value of the key will be resolved from either string_columns or json_map_columns Default:
Allows you to specify a custom endpoint for the AWS API. Default:
A map of column keys to field paths pointing to value data within messages. Default: map[]
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 3
The AWS region to target. Default:
A map of column keys to string values to store. Default: map[]
The table to store messages in.
An optional TTL to set for items, calculated from the moment the message is sent. Default:
The column key to place the TTL value within. Default:
10 nested properties
Control time intervals between retry attempts.
3 nested properties
The initial period to wait between retry attempts. Default: 1s
The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s
The maximum period to wait between retry attempts. Default: 5s
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
Allows you to specify a custom endpoint for the AWS API. Default:
A optional hash key for partitioning messages.
The maximum number of parallel message batches to have in flight at any given time. Default: 64
The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0
A required key for partitioning messages.
The AWS region to target. Default:
The stream to publish messages to. Streams can either be specified by their name or full ARN.
8 nested properties
Control time intervals between retry attempts.
3 nested properties
The initial period to wait between retry attempts. Default: 1s
The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s
The maximum period to wait between retry attempts. Default: 5s
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
Allows you to specify a custom endpoint for the AWS API. Default:
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0
The AWS region to target. Default:
The stream to publish messages to.
20 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
The bucket to upload messages to.
The cache control to set for each object. Default:
The content disposition to set for each object. Default:
An optional content encoding to set for each object. Default:
The content language to set for each object. Default:
The content type to set for each object. Default: application/octet-stream
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
Allows you to specify a custom endpoint for the AWS API. Default:
Forces the client API to use path style URLs, which helps when connecting to custom endpoints. Default: false
An optional server side encryption key. Default:
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
Specify criteria for which metadata values are attached to objects as headers.
1 nested properties
Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []
The path of each message to upload. Default: ${!count("files")}-${!timestamp_unix_nano()}.txt
The AWS region to target. Default:
An optional server side encryption algorithm. Default:
The storage class to set for each object. Default: STANDARD
Key/value pairs to store with the object as tags. Default: map[]
The maximum period to wait on an upload before abandoning it and reattempting. Default: 5s
The website redirect location to set for each object. Default:
9 nested properties
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
Allows you to specify a custom endpoint for the AWS API. Default:
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
An optional deduplication ID to set for messages.
An optional group ID to set for messages.
Specify criteria for which metadata values are sent as headers.
1 nested properties
Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []
The AWS region to target. Default:
The maximum period to wait on an upload before abandoning it and reattempting. Default: 5s
The topic to publish to.
12 nested properties
Control time intervals between retry attempts.
3 nested properties
The initial period to wait between retry attempts. Default: 1s
The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s
The maximum period to wait between retry attempts. Default: 5s
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
An optional delay time in seconds for message. Value between 0 and 900
Allows you to specify a custom endpoint for the AWS API. Default:
The maximum number of parallel message batches to have in flight at any given time. Default: 64
The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0
An optional deduplication ID to set for messages.
An optional group ID to set for messages.
Specify criteria for which metadata values are sent as headers.
1 nested properties
Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []
The AWS region to target. Default:
The URL of the target SQS queue.
9 nested properties
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
The container for uploading the messages to.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The path of each message to upload. Default: ${!count("files")}-${!timestamp_unix_nano()}.txt
The container's public access level. The default value is PRIVATE. Default: PRIVATE
The storage account access key. This field is ignored if storage_connection_string is set. Default:
The storage account to access. This field is ignored if storage_connection_string is set. Default:
A storage account connection string. This field is required if storage_account and storage_access_key / storage_sas_token are not set. Default:
The storage account SAS token. This field is ignored if storage_connection_string or storage_access_key are set. Default:
13 nested properties
Account key.
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
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Connection string.
Container.
Database.
CosmosDB endpoint.
ID of item to replace or delete. Only used by the Replace and Delete operations
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
Operation. Default: Create
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.
Patch operation condition.
Patch operations to be performed when operation: Patch .
8 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
The maximum number of parallel message batches to have in flight at any given time. Default: 64
The name of the target Queue Storage queue.
The storage account access key. This field is ignored if storage_connection_string is set. Default:
The storage account to access. This field is ignored if storage_connection_string is set. Default:
A storage account connection string. This field is required if storage_account and storage_access_key / storage_sas_token are not set. Default:
The storage account SAS token. This field is ignored if storage_connection_string or storage_access_key are set. Default:
The TTL of each individual message as a duration string. Defaults to 0, meaning no retention period is set Default:
13 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Type of insert operation. Valid options are INSERT, INSERT_MERGE and INSERT_REPLACE Default:
The maximum number of parallel message batches to have in flight at any given time. Default: 64
The partition key. Default:
A map of properties to store into the table. Default: map[]
The row key. Default:
The storage account access key. This field is ignored if storage_connection_string is set. Default:
The storage account to access. This field is ignored if storage_connection_string is set. Default:
A storage account connection string. This field is required if storage_account and storage_access_key / storage_sas_token are not set. Default:
The storage account SAS token. This field is ignored if storage_connection_string or storage_access_key are set. Default:
The table to store messages into.
The maximum period to wait on an upload before abandoning it and reattempting. Default: 5s
Type of transaction operation. Default: INSERT
2 nested properties
An address to connect to.
The maximum number of messages to have in flight at a given time. Increase to improve throughput. Default: 64
4 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
The number of copies of each configured output to spawn. Default: 1
A list of child outputs to broker. Each item can be either a complete inline output configuration or a reference to an output resource.
The brokering pattern to use. Default: fan_out
4 nested properties
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()}
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The target cache to store messages in.
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.
13 nested properties
A list of Cassandra nodes to connect to. Multiple comma separated addresses can be specified on a single line.
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.
Control time intervals between retry attempts.
2 nested properties
The initial period to wait between retry attempts. Default: 1s
The maximum period to wait between retry attempts. Default: 5s
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
The consistency level to use. Default: QUORUM
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
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
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The maximum number of retries before giving up on a request. Default: 3
Optional configuration of Cassandra authentication parameters.
3 nested properties
Whether to use password authentication Default: false
The password to authenticate with. Default:
The username to authenticate as. Default:
A query to execute for each message.
The client connection timeout. Default: 600ms
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
14 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Couchbase bucket.
Enable CAS validation. Default: true
Bucket collection. Default: _default
Document content.
Document id.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
Couchbase operation to perform. Default: upsert
Password to connect to the cluster.
Operation timeout. Default: 15s
Couchbase transcoder to use. Default: legacy
An optional TTL to set for items.
Couchbase connection string.
Username to connect to the cluster.
9 nested properties
Basic Authentication fields
3 nested properties
The password for basic auth. Default:
The realm for basic auth. Default:
The username for basic auth. Default:
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
The name of the database to connect to.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
Set to true to connect without authentication. Default: false
The cypher query to execute.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The URL of the database engine.
A map of strings -> bloblang interpolations that form the values of the references in the query i.e. $name. Default: map[]
3 nested properties
A bot token used for authentication.
A discord channel ID to write messages to.
Default: An optional rate limit resource to restrict API requests with.
Default: map[]
4 nested properties
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).
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
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.
A child output to wrap with this drop mechanism.
2 nested properties
A map of outputs to statically create. Default: map[]
A path prefix for HTTP endpoints that are registered. Default:
18 nested properties
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
Enables and customises connectivity to Amazon Elastic Service.
4 nested properties
Optional manual configuration of AWS credentials to use. More information can be found in this document.
Whether to connect to Amazon Elastic Service. Default: false
Allows you to specify a custom endpoint for the AWS API. Default:
The AWS region to target. Default:
Control time intervals between retry attempts.
3 nested properties
The initial period to wait between retry attempts. Default: 1s
The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s
The maximum period to wait between retry attempts. Default: 5s
Allows you to specify basic authentication.
3 nested properties
Whether to use basic authentication in requests. Default: false
A password to authenticate with. Default:
A username to authenticate as. Default:
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Enable gzip compression on the request side. Default: false
Whether to enable healthchecks. Default: true
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()}
The index to place messages.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0
An optional pipeline id to preprocess incoming documents. Default:
The routing key to use for the document. Default:
Prompts Bento to sniff for brokers to connect to when establishing a connection. Default: true
The maximum time to wait before abandoning a request (and trying again). Default: 5s
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
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:
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
17 nested properties
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
Control time intervals between retry attempts.
3 nested properties
The initial period to wait between retry attempts. Default: 1s
The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s
The maximum period to wait between retry attempts. Default: 5s
Allows you to specify basic authentication.
3 nested properties
Whether to use basic authentication in requests. Default: false
A password to authenticate with. Default:
A username to authenticate as. Default:
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Enable gzip compression on the request side. Default: false
Discover nodes periodically. Default: 0s
Discover nodes when initializing the client. Default: false
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()}
The index to place messages.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0
An optional pipeline id to preprocess incoming documents. Default:
HTTP Status codes that should be retried. Default: [502 503 504]
The routing key to use for the document. Default:
The maximum time to wait before abandoning a request (and trying again). Default: 5s
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
Default: []
2 nested properties
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
The file to write to, if the file does not yet exist it will be created.
13 nested properties
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
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
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
Specify how CSV data should be interpretted.
6 nested properties
Causes missing trailing optional columns to be tolerated when reading CSV data. Missing values are treated as nulls. Default: false
Sets whether quoted data sections containing newlines are allowed when reading CSV data. Default: false
Encoding is the character encoding of data to be read. Default: UTF-8
The separator for fields in a CSV file, used when reading or exporting data. Default: ,
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: []
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
The BigQuery Dataset ID.
The format of each incoming message. Default: NEWLINE_DELIMITED_JSON
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
A list of labels to add to the load job. Default: map[]
The maximum number of bad records that will be ignored when reading data. Default: 0
The maximum number of message batches to have in flight at a given time. Increase this to improve throughput. Default: 64
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:
:::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.
Specifies how existing data in a destination table is treated. Default: WRITE_APPEND
8 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
The BigQuery Dataset ID.
Used to overwrite the default gRPC and HTTP BigQuery endpoints.
2 nested properties
The endpoint used to create the BigQuery Storage API client. Default:
The endpoint used to create the BigQuery client. Default:
The maximum number of message batches to have in flight at a given time. Increase this to improve throughput. Default: 64
Format of incoming messages Default: json
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:
:::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
:::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.
9 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
The bucket to upload messages to.
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
Determines how file path collisions should be dealt with. Default: overwrite
An optional content encoding to set for each object. Default:
The content type to set for each object. Default: application/octet-stream
The maximum number of message batches to have in flight at a given time. Increase this to improve throughput. Default: 64
The path of each message to upload. Default: ${!count("files")}-${!timestamp_unix_nano()}.txt
The maximum period to wait on an upload before abandoning it and reattempting. Default: 3s
12 nested properties
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.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Publish a batch when its size in bytes reaches this value. Default: 1000000
Publish a pubsub buffer when it has this many messages Default: 100
Publish a non-empty pubsub buffer after this delay has passed. Default: 10ms
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:
For a given topic, configures the PubSub client's internal buffer for messages to be published.
3 nested properties
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
Maximum size of buffered messages to be published. If less than or equal to zero, this is disabled. Default: -1
Maximum number of buffered messages to be published. If less than or equal to zero, this is disabled. Default: 1000
The maximum number of messages to have in flight at a given time. Increasing this may improve throughput. Default: 64
Specify criteria for which metadata values are sent as attributes, all are sent by default.
1 nested properties
Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []
The ordering key to use for publishing messages.
The project ID of the topic to publish to.
The maximum length of time to wait before abandoning a publish attempt for a message. Default: 1m0s
The topic to publish to.
12 nested properties
The URI of the gRPC target to connect to.
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
2 nested properties
Whether Bento should healthcheck the unary Check rpc endpoint on init connection: gRPC Health Checking Default: false
The name of the service to healthcheck, note that the default value of "", will attempt to check the health of the whole server Default:
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The name of the method to invoke
Allows you to specify open authentication via OAuth version 2 using the client credentials token flow.
6 nested properties
A value used to identify the client to the token provider. Default:
A secret used to establish ownership of the client key. Default:
Whether to use OAuth version 2 in requests. Default: false
A list of optional endpoint parameters, values should be arrays of strings. Default: map[]
A list of optional requested permissions. Default: []
The URL of the token provider. Default:
Whether responses from the server should be propagated back to the input. Default: false
A list of filepaths of .proto files that should contain the schemas necessary for the gRPC method. Default: []
If set to true, Bento will acquire the protobuf schema for the method from the server via gRPC Reflection. Default: false
The type of the rpc method. Default: unary
The name of the service.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
6 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
A directory to store message files within. If the directory does not exist it will be created.
A list of target host addresses to connect to.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
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
A user ID to connect as. Default:
26 nested properties
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]
Allows you to specify basic authentication.
3 nested properties
Whether to use basic authentication in requests. Default: false
A password to authenticate with. Default:
A username to authenticate as. Default:
Send message batches as a single request using RFC1341. If disabled messages in batches will be sent as individual requests. Default: false
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
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: []
EXPERIMENTAL: Optionally set a level at which the request and response payload of each request made will be logged. Default:
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
Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []
Provide a list of explicit metadata key prefixes to match against. Default: []
A map of headers to add to the request. Default: map[]
BETA: Allows you to specify JWT authentication.
5 nested properties
A value used to identify the claims that issued the JWT. Default: map[]
Whether to use JWT authentication in requests. Default: false
Add optional key/value headers to the JWT. Default: map[]
A file with the PEM encoded via PKCS1 or PKCS8 as private key. Default:
A method used to sign the token such as RS256, RS384, RS512 or EdDSA. Default:
The maximum number of parallel message batches to have in flight at any given time. Default: 64
The maximum period to wait between failed requests. Default: 300s
Specify optional matching rules to determine which metadata keys should be added to the HTTP request as headers.
2 nested properties
Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []
Provide a list of explicit metadata key prefixes to match against. Default: []
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: []
Allows you to specify open authentication via OAuth version 1.
5 nested properties
A value used to gain access to the protected resources on behalf of the user. Default:
A secret provided in order to establish ownership of a given access token. Default:
A value used to identify the client to the service provider. Default:
A secret used to establish ownership of the consumer key. Default:
Whether to use OAuth version 1 in requests. Default: false
Allows you to specify open authentication via OAuth version 2 using the client credentials token flow.
6 nested properties
A value used to identify the client to the token provider. Default:
A secret used to establish ownership of the client key. Default:
Whether to use OAuth version 2 in requests. Default: false
A list of optional endpoint parameters, values should be arrays of strings. Default: map[]
A list of optional requested permissions. Default: []
The URL of the token provider. Default:
Whether responses from the server should be propagated back to the input. Default: false
An optional HTTP proxy URL.
An optional rate limit to throttle requests by.
The maximum number of retry attempts to make. Default: 3
The base period to wait between failed requests. Default: 1s
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: []
A static timeout to apply to requests. Default: 5s
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
Custom transport options.
6 nested properties
Settings for the dialer used to create new connections.
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
If true, the transport will attempt to use HTTP/2. Default: true
Maximum time an idle keep-alive connection remains open before closing itself. Default: 90s
Maximum number of idle keep-alive connections. Zero = unlimited. Default: 100
Maximum time allowed for TLS handshake to complete. Default: 10s
The URL to connect to.
A verb to connect with Default: POST
15 nested properties
An alternative address to host from. If left empty the service wide address is used. Default:
An array of verbs that are allowed for the path and stream_path HTTP endpoint. Default: [GET]
Enable TLS by specifying a certificate and key file. Only valid with a custom address. Default:
Adds Cross-Origin Resource Sharing headers. Only valid with a custom address.
4 nested properties
Appends additional headers to the list of default allowed headers: Accept, Accept-Language, Content-Language & Origin. These default headers are therefore always allowed. Default: []
Used to explicitly set allowed methods in the Access-Control-Allow-Methods header. Default: [GET HEAD POST PUT PATCH DELETE]
An explicit list of origins that are allowed for CORS requests. Default: []
Whether to allow CORS requests. Default: false
The time to wait before sending a heartbeat message. Default: 0s
Enable TLS by specifying a certificate and key file. Only valid with a custom address. Default:
The path from which discrete messages can be consumed. Default: /get
Send pings to client with this period. Must be less than pong wait. Default: 54s
The time allowed to read the next pong message from the client. Default: 60s
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
The path from which a continuous stream of messages can be consumed. Default: /get/stream
The maximum time to wait before a blocking, inactive connection is dropped (only applies to the path endpoint). Default: 5s
The time allowed to write a message to the websocket. Default: 10s
Type of websocket message Default: binary
The path from which websocket connections can be established. Default: /get/ws
Default:
24 nested properties
Ensure that messages have been copied across all replicas before acknowledging receipt. Default: false
A list of broker addresses to connect to. If an item of the list contains commas it will be expanded into multiple addresses.
Control time intervals between retry attempts.
3 nested properties
The initial period to wait between retry attempts. Default: 3s
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
The maximum period to wait between retry attempts Default: 10s
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
An identifier for the client connection. Default: bento
The compression algorithm to use. Default: none
If enabled, topics will be created with the specified number of partitions and replication factor if they do not already exist.
3 nested properties
Whether to enable custom topic creation. Default: false
The number of partitions to create for new topics. Leave at -1 to use the broker configured default. Must be >= 1. Default: -1
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
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
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.
The key to publish messages with. Default:
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The maximum size in bytes of messages sent to the target topic. Default: 1000000
The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0
Specify criteria for which metadata values are sent with messages as headers.
1 nested properties
Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []
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:
The partitioning algorithm to use. Default: fnv1a_hash
A rack identifier for this client. Default:
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
Enables SASL authentication.
7 nested properties
A static OAUTHBEARER access token Default:
Contains AWS specific fields for when the mechanism is set to AWS_MSK_IAM.
The SASL authentication mechanism, if left empty SASL authentication is not used. Default: none
A PLAIN password. It is recommended that you use environment variables to populate this field. Default:
Instead of using a static access_token allows you to query a cache resource to fetch OAUTHBEARER tokens from Default:
Required when using a token_cache, the key to query the cache with for tokens. Default:
A PLAIN username. It is recommended that you use environment variables to populate this field. Default:
An optional map of static headers that should be added to messages in addition to metadata.
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.
The maximum period of time to wait for message sends before abandoning the request and retrying. Default: 5s
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The topic to publish messages to.
19 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
An identifier for the client connection. Default: bento
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.
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
An optional key to populate for each message.
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
The maximum number of batches to be sending in parallel at any given time. Default: 10
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
Determine which (if any) metadata values should be added to messages as headers.
2 nested properties
Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []
Provide a list of explicit metadata key prefixes to match against. Default: []
This sets the maximum age for the client's cached metadata, to allow detection of new topics, partitions, etc. Default: 5m
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.
Override the default murmur2 hashing partitioner.
A rack identifier for this client. Default:
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.
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.
The maximum period of time to wait for message sends before abandoning the request and retrying Default: 10s
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A topic to write messages to.
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
Sets a slight imbalance so that the partitioner can produce more to brokers that are less loaded. Default: false
The number of bytes the partitioner will return the same partition for. Default: 1MB
If true, uses standard hashing based on record key for records with non-nil keys. Default: false
15 nested properties
Control time intervals between retry attempts.
3 nested properties
The initial period to wait between retry attempts. Default: 1s
The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s
The maximum period to wait between retry attempts. Default: 5s
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
The name of the target collection.
The name of the target MongoDB database.
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:
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:
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:
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 3
The mongodb operation to perform. Default: update-one
The password to connect to the database. Default:
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
The URL of the target MongoDB server.
The username to connect to the database. Default:
The write concern settings for the mongo connection.
3 nested properties
J requests acknowledgement from MongoDB that write operations are written to the journal. Default: false
W requests acknowledgement that write operations propagate to the specified number of mongodb instances. Default:
The write concern timeout. Default:
15 nested properties
An identifier for the client connection. Default:
The maximum amount of time to wait in order to establish a connection before the attempt is abandoned. Default: 30s
Append a dynamically generated suffix to the specified client_id on each run of the pipeline. This can be useful when clustering Bento producers.
Max seconds of inactivity before a keepalive message is sent. Default: 30
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
A password to connect with. Default:
The QoS value to set for each message. Has options 0, 1, 2. Default: 1
Set message as retained on the topic. Default: false
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.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The topic to publish messages to.
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
A username to connect with. Default:
Set last will message in case of Bento failure
5 nested properties
Whether to enable last will messages. Default: false
Set payload for last will message. Default:
Set QoS for last will message. Valid values are: 0, 1, 2. Default: 0
Set retained for last will message. Default: false
Set topic for last will message. Default:
The maximum amount of time to wait to write data before the attempt is abandoned. Default: 3s
5 nested properties
Whether the URLs listed should be bind (otherwise they are connected to). Default: false
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The maximum period of time to wait for a message to send before the request is abandoned and reattempted. Default: 5s
The socket type to send with. Default: PUSH
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
8 nested properties
Optional configuration of NATS authentication parameters.
4 nested properties
An optional file containing a NKey seed.
An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.
An optional plain text user JWT (given along with the corresponding user NKey Seed).
An optional plain text user NKey Seed (given along with the corresponding user JWT).
Explicit message headers to add to messages. Default: map[]
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.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
Determine which (if any) metadata values should be added to messages as headers.
2 nested properties
Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []
Provide a list of explicit metadata key prefixes to match against. Default: []
The subject to publish to.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
8 nested properties
Optional configuration of NATS authentication parameters.
4 nested properties
An optional file containing a NKey seed.
An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.
An optional plain text user JWT (given along with the corresponding user NKey Seed).
An optional plain text user NKey Seed (given along with the corresponding user JWT).
Explicit message headers to add to messages. Default: map[]
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.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 1024
Determine which (if any) metadata values should be added to messages as headers.
2 nested properties
Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []
Provide a list of explicit metadata key prefixes to match against. Default: []
A subject to write to.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
6 nested properties
Optional configuration of NATS authentication parameters.
4 nested properties
An optional file containing a NKey seed.
An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.
An optional plain text user JWT (given along with the corresponding user NKey Seed).
An optional plain text user NKey Seed (given along with the corresponding user JWT).
The name of the KV bucket.
The key for each message.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 1024
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
6 nested properties
Optional configuration of NATS authentication parameters.
4 nested properties
An optional file containing a NKey seed.
An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.
An optional plain text user JWT (given along with the corresponding user NKey Seed).
An optional plain text user NKey Seed (given along with the corresponding user JWT).
The name of the object store bucket.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The object name for each message.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
8 nested properties
Optional configuration of NATS authentication parameters.
4 nested properties
An optional file containing a NKey seed.
An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.
An optional plain text user JWT (given along with the corresponding user NKey Seed).
An optional plain text user NKey Seed (given along with the corresponding user JWT).
The client ID to connect with. Default:
The cluster ID to publish to.
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.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The subject to publish to.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
6 nested properties
An optional secret for NSQ authentication (requires nsqd 0.2.29+).
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The address of the target NSQD server.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The topic to publish to.
A user agent to assume when connecting.
11 nested properties
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.
Enables and customises connectivity to Amazon Elastic Service.
4 nested properties
Optional manual configuration of AWS credentials to use. More information can be found in this document.
Whether to connect to Amazon Elastic Service. Default: false
Allows you to specify a custom endpoint for the AWS API. Default:
The AWS region to target. Default:
Allows you to specify basic authentication.
3 nested properties
Whether to use basic authentication in requests. Default: false
A password to authenticate with. Default:
A username to authenticate as. Default:
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
The ID for indexed messages. Interpolation should be used in order to create a unique ID for each message.
The index to place messages.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
An optional pipeline id to preprocess incoming documents. Default:
The routing key to use for the document. Default:
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
7 nested properties
Optional configuration of Pulsar authentication methods.
2 nested properties
Parameters for Pulsar OAuth2 authentication.
Parameters for Pulsar Token authentication.
The key to publish messages with. Default:
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The ordering key to publish messages with. Default:
Specify the path to a custom CA certificate to trust broker TLS service.
1 nested properties
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:
The topic to publish to.
A URL to connect to.
9 nested properties
Pusher app id
maximum batch size is 10 (limit of the pusher library)
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Pusher channel to publish to. Interpolation functions can also be used
Pusher cluster
Event to publish to
Pusher key
The maximum number of parallel message batches to have in flight at any given time. Default: 1
Pusher secret
Enable SSL encryption Default: true
18 nested properties
Address of the QuestDB server's HTTP port (excluding protocol)
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Name of the designated timestamp field
Designated timestamp field units Default: auto
Columns that should be double type, (int is default)
Mark a message as errored if it is empty after field validation Default: false
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
Password for HTTP basic auth
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.
The time to wait for a response from the server. This is in addition to the calculation derived from the request_min_throughput parameter.
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.
Columns that should be the SYMBOL type (string values default to STRING)
Destination table
String fields with textual timestamps
Timestamp format, used when parsing timestamp string fields. Specified in golang's time.Parse layout Default: Jan _2 15:04:05.000000Z0700
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
Bearer token for HTTP auth (takes precedence over basic auth username & password)
Username for HTTP basic auth
9 nested properties
A map of key/value pairs to set as hash fields. Default: map[]
The key for each message, function interpolations should be used to create a unique key per message.
Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple
Name of the redis master when kind is failover Default:
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
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
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The URL of the target Redis server. Database is optional and is supplied as the URL path.
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
Whether all metadata fields of messages should be walked and added to the list of hash fields to set. Default: false
8 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
The command used to push elements to the Redis list Default: rpush
The key for each message, function interpolations can be optionally used to create a unique key per message.
Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple
Name of the redis master when kind is failover Default:
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
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
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The URL of the target Redis server. Database is optional and is supplied as the URL path.
7 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
The channel to publish messages to.
Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple
Name of the redis master when kind is failover Default:
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
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
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The URL of the target Redis server. Database is optional and is supplied as the URL path.
10 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
A key to set the raw body of the message to. Default: body
Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple
Name of the redis master when kind is failover Default:
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
When greater than zero enforces a rough cap on the length of the target stream. Default: 0
Specify criteria for which metadata values are included in the message body.
1 nested properties
Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []
The stream to add messages to.
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
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The URL of the target Redis server. Database is optional and is supplied as the URL path.
Default:
Default:
3 nested properties
Control time intervals between retry attempts.
3 nested properties
The initial period to wait between retry attempts. Default: 500ms
The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 0s
The maximum period to wait between retry attempts. Default: 3s
The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0
A child output.
6 nested properties
Access token for S2 account
Basin name
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Enforce a fencing token (base64 encoded)
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
Stream name
5 nested properties
The address of the server to connect to.
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
The credentials to use to log into the target server.
4 nested properties
The password for the username to connect to the SFTP server. Default:
The private key for the username to connect to the SFTP server. Default:
Optional passphrase for private key. Default:
The username to connect to the SFTP server. Default:
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The file to save the messages to on the server.
3 nested properties
The maximum time to wait before abandoning a request (and trying again). Default: 5s
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
Slack webhook URL to post messages
22 nested properties
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.
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Enable Snowflake keepalive mechanism to prevent the client session from expiring after 4 hours (error 390114). Default: false
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>).
Compression type. Default: AUTO
Database.
Stage file extension. Will be derived from the configured compression if not set or empty. Default:
Stage file name. Will be equal to the Request ID if not set or empty. Default:
The maximum number of parallel message batches to have in flight at any given time. Default: 1
An optional password.
Stage path. Default:
The path to a file containing the private SSH key.
An optional private SSH key passphrase.
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>).
Request ID. Will be assigned a random UUID (v4) string if not set or empty. Default:
Role.
Schema.
An optional Snowpipe name. Use the <snowpipe> part from <database>.<schema>.<snowpipe>.
Stage name. Use either one of the supported stage types.
Specifies the number of threads to use for uploading files. Default: 4
Username.
Warehouse.
3 nested properties
The address to connect to.
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
A network type to connect as.
13 nested properties
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
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 100
A period in which an incomplete batch should be flushed regardless of its size. Default: 30s
Set the host value to assign to the event data. Overrides existing host field if present. Default:
Set the index value to assign to the event data. Overrides existing index field if present. Default:
Set the source value to assign to the event data. Overrides existing source field if present. Default:
Set the sourcetype value to assign to the event data. Overrides existing sourcetype field if present. Default:
Enable gzip compression Default: false
The maximum number of parallel message batches to have in flight at any given time. Default: 64
An optional rate limit resource to restrict API requests with. Default:
Whether to skip server side certificate verification. Default: false
A bot token used for authentication.
Full HTTP Endpoint Collector (HEC) URL, ie. https://foobar.splunkcloud.com/services/collector/event
6 nested properties
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.
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Data source name.
A database driver to use.
The maximum number of inserts to run in parallel. Default: 64
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:
| Driver | Placeholder Style |
|---|---|
clickhouse | Dollar sign |
mysql | Question mark |
postgres | Dollar sign |
mssql | Question mark |
sqlite | Question mark |
oracle | Colon |
snowflake | Question mark |
spanner | Question mark |
trino | Question mark |
gocosmos | Colon |
22 nested properties
A Bloblang mapping which should evaluate to an array of values matching in size to the number of columns specified.
Optional Fields that can be set to use Azure based authentication for Azure Postgres SQL
2 nested properties
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
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
A list of columns to insert.
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
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.
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.
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).
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
A database driver to use.
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:
| Driver | Data Source Name Format |
|---|---|
clickhouse | clickhouse://[username[:password]@][netloc][:port]/dbname[?param1=value1&...¶mN=valueN] |
mysql | [username[:password]@][protocol[(address)]]/dbname[?param1=value1&...¶mN=valueN] |
postgres | postgres://[user[:password]@][netloc][:port][/dbname][?param1=value1&...] |
mssql | sqlserver://[user[:password]@][netloc][:port][?database=dbname¶m1=value1&...] |
sqlite | file:/path/to/filename.db[?param&=value1&...] |
oracle | oracle://[username[:password]@][netloc][:port]/service_name?server=server2&server=server3 |
snowflake | username[:password]@account_identifier/dbname/schemaname[?param1=value&...¶mN=valueN] |
spanner | projects/[project]/instances/[instance]/databases/dbname |
trino | http[s]://user[:pass]@host[:port][?parameters] |
gocosmos | AccountEndpoint=<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.
Allows you to specify a custom endpoint for the AWS API. Default:
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
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.
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.
Whether to verify the database connection on startup by performing a simple ping, by default this is disabled. Default: false
The maximum number of inserts to run in parallel. Default: 64
An optional prefix to prepend to the insert query (before INSERT).
The AWS region to target. Default:
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.
An optional suffix to append to the insert query.
The table to insert to.
20 nested properties
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.
Optional Fields that can be set to use Azure based authentication for Azure Postgres SQL
2 nested properties
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
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
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
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.
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.
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).
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
A database driver to use.
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:
| Driver | Data Source Name Format |
|---|---|
clickhouse | clickhouse://[username[:password]@][netloc][:port]/dbname[?param1=value1&...¶mN=valueN] |
mysql | [username[:password]@][protocol[(address)]]/dbname[?param1=value1&...¶mN=valueN] |
postgres | postgres://[user[:password]@][netloc][:port][/dbname][?param1=value1&...] |
mssql | sqlserver://[user[:password]@][netloc][:port][?database=dbname¶m1=value1&...] |
sqlite | file:/path/to/filename.db[?param&=value1&...] |
oracle | oracle://[username[:password]@][netloc][:port]/service_name?server=server2&server=server3 |
snowflake | username[:password]@account_identifier/dbname/schemaname[?param1=value&...¶mN=valueN] |
spanner | projects/[project]/instances/[instance]/databases/dbname |
trino | http[s]://user[:pass]@host[:port][?parameters] |
gocosmos | AccountEndpoint=<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.
Allows you to specify a custom endpoint for the AWS API. Default:
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
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.
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.
Whether to verify the database connection on startup by performing a simple ping, by default this is disabled. Default: false
The maximum number of inserts to run in parallel. Default: 64
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:
| Driver | Placeholder Style |
|---|---|
clickhouse | Dollar sign |
mysql | Question mark |
postgres | Dollar sign |
mssql | Question mark |
sqlite | Question mark |
oracle | Colon |
snowflake | Question mark |
spanner | Question mark |
trino | Question mark |
gocosmos | Colon |
The AWS region to target. Default:
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.
Whether to enable interpolation functions in the query. Great care should be made to ensure your queries are defended against injection attacks. Default: false
1 nested properties
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
3 nested properties
A list of arguments to provide the command. Default: []
The way in which messages should be written to the subprocess. Default: lines
The command to execute as a subprocess.
3 nested properties
A list of switch cases, outlining outputs that can be routed to.
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
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
Default: map[]
6 nested properties
Allows you to specify basic authentication.
3 nested properties
Whether to use basic authentication in requests. Default: false
A password to authenticate with. Default:
A username to authenticate as. Default:
BETA: Allows you to specify JWT authentication.
5 nested properties
A value used to identify the claims that issued the JWT. Default: map[]
Whether to use JWT authentication in requests. Default: false
Add optional key/value headers to the JWT. Default: map[]
A file with the PEM encoded via PKCS1 or PKCS8 as private key. Default:
A method used to sign the token such as RS256, RS384, RS512 or EdDSA. Default:
Allows you to specify open authentication via OAuth version 1.
5 nested properties
A value used to gain access to the protected resources on behalf of the user. Default:
A secret provided in order to establish ownership of a given access token. Default:
A value used to identify the client to the service provider. Default:
A secret used to establish ownership of the consumer key. Default:
Whether to use OAuth version 1 in requests. Default: false
An optional HTTP proxy URL.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The URL to connect to.
9 nested properties
Whether to bind to the specified URLs (otherwise they are connected to). Default: true
The maximum number of dial retries (-1 for infinite retries). Default: 10
The time to wait between failed dial attempts. Default: 250ms
The maximum time to wait for a dial to complete. Default: 5m
The message high water mark to use. (experimental i go-zeromq) Default: 0
The poll timeout to use. Default: 5s
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
The socket type to connect as.
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
A list of output resources, each must have a unique label. Default: []
73 nested properties
21 nested properties
Set the application ID of each message with a dynamic interpolated expression. Default:
The content encoding attribute to set for each message. Default:
The content type attribute to set for each message. Default: application/octet-stream
Set the correlation ID of each message with a dynamic interpolated expression. Default:
An AMQP exchange to publish to.
Optionally declare the target exchange (passive).
3 nested properties
Whether the exchange should be durable. Default: true
Whether to declare the exchange. Default: false
The type of the exchange. Default: direct
Set the per-message TTL Default:
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
The binding key to set for each message. Default:
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
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
Set the message ID of each message with a dynamic interpolated expression. Default:
Specify criteria for which metadata values are attached to messages as headers.
1 nested properties
Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []
Whether message delivery should be persistent (transient by default). Default: false
Set the priority of each message with a dynamic interpolated expression. Default:
Carries response queue name - set with a dynamic interpolated expression. Default:
The maximum period to wait before abandoning it and reattempting. If not set, wait indefinitely. Default:
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The type property to set for each message. Default:
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.
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:
8 nested properties
An optional Bloblang mapping that can be defined in order to set the application-properties on output messages.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
Specify criteria for which metadata values are attached to messages as headers.
1 nested properties
Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []
Enables SASL authentication.
3 nested properties
The SASL authentication mechanism to use. Default: none
A SASL plain text password. It is recommended that you use environment variables to populate this field. Default:
A SASL plain text username. It is recommended that you use environment variables to populate this field. Default:
The target address to write to.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A URL to connect to.
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.
13 nested properties
Control time intervals between retry attempts.
3 nested properties
The initial period to wait between retry attempts. Default: 1s
The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s
The maximum period to wait between retry attempts. Default: 5s
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
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
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:
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:
The sort key for DeleteItem requests. The value of the key will be resolved from either string_columns or json_map_columns Default:
Allows you to specify a custom endpoint for the AWS API. Default:
A map of column keys to field paths pointing to value data within messages. Default: map[]
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 3
The AWS region to target. Default:
A map of column keys to string values to store. Default: map[]
The table to store messages in.
An optional TTL to set for items, calculated from the moment the message is sent. Default:
The column key to place the TTL value within. Default:
10 nested properties
Control time intervals between retry attempts.
3 nested properties
The initial period to wait between retry attempts. Default: 1s
The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s
The maximum period to wait between retry attempts. Default: 5s
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
Allows you to specify a custom endpoint for the AWS API. Default:
A optional hash key for partitioning messages.
The maximum number of parallel message batches to have in flight at any given time. Default: 64
The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0
A required key for partitioning messages.
The AWS region to target. Default:
The stream to publish messages to. Streams can either be specified by their name or full ARN.
8 nested properties
Control time intervals between retry attempts.
3 nested properties
The initial period to wait between retry attempts. Default: 1s
The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s
The maximum period to wait between retry attempts. Default: 5s
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
Allows you to specify a custom endpoint for the AWS API. Default:
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0
The AWS region to target. Default:
The stream to publish messages to.
20 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
The bucket to upload messages to.
The cache control to set for each object. Default:
The content disposition to set for each object. Default:
An optional content encoding to set for each object. Default:
The content language to set for each object. Default:
The content type to set for each object. Default: application/octet-stream
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
Allows you to specify a custom endpoint for the AWS API. Default:
Forces the client API to use path style URLs, which helps when connecting to custom endpoints. Default: false
An optional server side encryption key. Default:
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
Specify criteria for which metadata values are attached to objects as headers.
1 nested properties
Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []
The path of each message to upload. Default: ${!count("files")}-${!timestamp_unix_nano()}.txt
The AWS region to target. Default:
An optional server side encryption algorithm. Default:
The storage class to set for each object. Default: STANDARD
Key/value pairs to store with the object as tags. Default: map[]
The maximum period to wait on an upload before abandoning it and reattempting. Default: 5s
The website redirect location to set for each object. Default:
9 nested properties
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
Allows you to specify a custom endpoint for the AWS API. Default:
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
An optional deduplication ID to set for messages.
An optional group ID to set for messages.
Specify criteria for which metadata values are sent as headers.
1 nested properties
Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []
The AWS region to target. Default:
The maximum period to wait on an upload before abandoning it and reattempting. Default: 5s
The topic to publish to.
12 nested properties
Control time intervals between retry attempts.
3 nested properties
The initial period to wait between retry attempts. Default: 1s
The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s
The maximum period to wait between retry attempts. Default: 5s
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
An optional delay time in seconds for message. Value between 0 and 900
Allows you to specify a custom endpoint for the AWS API. Default:
The maximum number of parallel message batches to have in flight at any given time. Default: 64
The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0
An optional deduplication ID to set for messages.
An optional group ID to set for messages.
Specify criteria for which metadata values are sent as headers.
1 nested properties
Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []
The AWS region to target. Default:
The URL of the target SQS queue.
9 nested properties
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
The container for uploading the messages to.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The path of each message to upload. Default: ${!count("files")}-${!timestamp_unix_nano()}.txt
The container's public access level. The default value is PRIVATE. Default: PRIVATE
The storage account access key. This field is ignored if storage_connection_string is set. Default:
The storage account to access. This field is ignored if storage_connection_string is set. Default:
A storage account connection string. This field is required if storage_account and storage_access_key / storage_sas_token are not set. Default:
The storage account SAS token. This field is ignored if storage_connection_string or storage_access_key are set. Default:
13 nested properties
Account key.
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
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Connection string.
Container.
Database.
CosmosDB endpoint.
ID of item to replace or delete. Only used by the Replace and Delete operations
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
Operation. Default: Create
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.
Patch operation condition.
Patch operations to be performed when operation: Patch .
8 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
The maximum number of parallel message batches to have in flight at any given time. Default: 64
The name of the target Queue Storage queue.
The storage account access key. This field is ignored if storage_connection_string is set. Default:
The storage account to access. This field is ignored if storage_connection_string is set. Default:
A storage account connection string. This field is required if storage_account and storage_access_key / storage_sas_token are not set. Default:
The storage account SAS token. This field is ignored if storage_connection_string or storage_access_key are set. Default:
The TTL of each individual message as a duration string. Defaults to 0, meaning no retention period is set Default:
13 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Type of insert operation. Valid options are INSERT, INSERT_MERGE and INSERT_REPLACE Default:
The maximum number of parallel message batches to have in flight at any given time. Default: 64
The partition key. Default:
A map of properties to store into the table. Default: map[]
The row key. Default:
The storage account access key. This field is ignored if storage_connection_string is set. Default:
The storage account to access. This field is ignored if storage_connection_string is set. Default:
A storage account connection string. This field is required if storage_account and storage_access_key / storage_sas_token are not set. Default:
The storage account SAS token. This field is ignored if storage_connection_string or storage_access_key are set. Default:
The table to store messages into.
The maximum period to wait on an upload before abandoning it and reattempting. Default: 5s
Type of transaction operation. Default: INSERT
2 nested properties
An address to connect to.
The maximum number of messages to have in flight at a given time. Increase to improve throughput. Default: 64
4 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
The number of copies of each configured output to spawn. Default: 1
A list of child outputs to broker. Each item can be either a complete inline output configuration or a reference to an output resource.
The brokering pattern to use. Default: fan_out
4 nested properties
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()}
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The target cache to store messages in.
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.
13 nested properties
A list of Cassandra nodes to connect to. Multiple comma separated addresses can be specified on a single line.
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.
Control time intervals between retry attempts.
2 nested properties
The initial period to wait between retry attempts. Default: 1s
The maximum period to wait between retry attempts. Default: 5s
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
The consistency level to use. Default: QUORUM
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
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
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The maximum number of retries before giving up on a request. Default: 3
Optional configuration of Cassandra authentication parameters.
3 nested properties
Whether to use password authentication Default: false
The password to authenticate with. Default:
The username to authenticate as. Default:
A query to execute for each message.
The client connection timeout. Default: 600ms
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
14 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Couchbase bucket.
Enable CAS validation. Default: true
Bucket collection. Default: _default
Document content.
Document id.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
Couchbase operation to perform. Default: upsert
Password to connect to the cluster.
Operation timeout. Default: 15s
Couchbase transcoder to use. Default: legacy
An optional TTL to set for items.
Couchbase connection string.
Username to connect to the cluster.
9 nested properties
Basic Authentication fields
3 nested properties
The password for basic auth. Default:
The realm for basic auth. Default:
The username for basic auth. Default:
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
The name of the database to connect to.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
Set to true to connect without authentication. Default: false
The cypher query to execute.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The URL of the database engine.
A map of strings -> bloblang interpolations that form the values of the references in the query i.e. $name. Default: map[]
3 nested properties
A bot token used for authentication.
A discord channel ID to write messages to.
Default: An optional rate limit resource to restrict API requests with.
Default: map[]
4 nested properties
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).
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
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.
A child output to wrap with this drop mechanism.
2 nested properties
A map of outputs to statically create. Default: map[]
A path prefix for HTTP endpoints that are registered. Default:
18 nested properties
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
Enables and customises connectivity to Amazon Elastic Service.
4 nested properties
Optional manual configuration of AWS credentials to use. More information can be found in this document.
Whether to connect to Amazon Elastic Service. Default: false
Allows you to specify a custom endpoint for the AWS API. Default:
The AWS region to target. Default:
Control time intervals between retry attempts.
3 nested properties
The initial period to wait between retry attempts. Default: 1s
The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s
The maximum period to wait between retry attempts. Default: 5s
Allows you to specify basic authentication.
3 nested properties
Whether to use basic authentication in requests. Default: false
A password to authenticate with. Default:
A username to authenticate as. Default:
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Enable gzip compression on the request side. Default: false
Whether to enable healthchecks. Default: true
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()}
The index to place messages.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0
An optional pipeline id to preprocess incoming documents. Default:
The routing key to use for the document. Default:
Prompts Bento to sniff for brokers to connect to when establishing a connection. Default: true
The maximum time to wait before abandoning a request (and trying again). Default: 5s
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
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:
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
17 nested properties
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
Control time intervals between retry attempts.
3 nested properties
The initial period to wait between retry attempts. Default: 1s
The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s
The maximum period to wait between retry attempts. Default: 5s
Allows you to specify basic authentication.
3 nested properties
Whether to use basic authentication in requests. Default: false
A password to authenticate with. Default:
A username to authenticate as. Default:
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Enable gzip compression on the request side. Default: false
Discover nodes periodically. Default: 0s
Discover nodes when initializing the client. Default: false
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()}
The index to place messages.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0
An optional pipeline id to preprocess incoming documents. Default:
HTTP Status codes that should be retried. Default: [502 503 504]
The routing key to use for the document. Default:
The maximum time to wait before abandoning a request (and trying again). Default: 5s
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
Default: []
2 nested properties
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
The file to write to, if the file does not yet exist it will be created.
13 nested properties
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
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
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
Specify how CSV data should be interpretted.
6 nested properties
Causes missing trailing optional columns to be tolerated when reading CSV data. Missing values are treated as nulls. Default: false
Sets whether quoted data sections containing newlines are allowed when reading CSV data. Default: false
Encoding is the character encoding of data to be read. Default: UTF-8
The separator for fields in a CSV file, used when reading or exporting data. Default: ,
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: []
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
The BigQuery Dataset ID.
The format of each incoming message. Default: NEWLINE_DELIMITED_JSON
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
A list of labels to add to the load job. Default: map[]
The maximum number of bad records that will be ignored when reading data. Default: 0
The maximum number of message batches to have in flight at a given time. Increase this to improve throughput. Default: 64
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:
:::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.
Specifies how existing data in a destination table is treated. Default: WRITE_APPEND
8 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
The BigQuery Dataset ID.
Used to overwrite the default gRPC and HTTP BigQuery endpoints.
2 nested properties
The endpoint used to create the BigQuery Storage API client. Default:
The endpoint used to create the BigQuery client. Default:
The maximum number of message batches to have in flight at a given time. Increase this to improve throughput. Default: 64
Format of incoming messages Default: json
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:
:::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
:::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.
9 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
The bucket to upload messages to.
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
Determines how file path collisions should be dealt with. Default: overwrite
An optional content encoding to set for each object. Default:
The content type to set for each object. Default: application/octet-stream
The maximum number of message batches to have in flight at a given time. Increase this to improve throughput. Default: 64
The path of each message to upload. Default: ${!count("files")}-${!timestamp_unix_nano()}.txt
The maximum period to wait on an upload before abandoning it and reattempting. Default: 3s
12 nested properties
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.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Publish a batch when its size in bytes reaches this value. Default: 1000000
Publish a pubsub buffer when it has this many messages Default: 100
Publish a non-empty pubsub buffer after this delay has passed. Default: 10ms
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:
For a given topic, configures the PubSub client's internal buffer for messages to be published.
3 nested properties
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
Maximum size of buffered messages to be published. If less than or equal to zero, this is disabled. Default: -1
Maximum number of buffered messages to be published. If less than or equal to zero, this is disabled. Default: 1000
The maximum number of messages to have in flight at a given time. Increasing this may improve throughput. Default: 64
Specify criteria for which metadata values are sent as attributes, all are sent by default.
1 nested properties
Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []
The ordering key to use for publishing messages.
The project ID of the topic to publish to.
The maximum length of time to wait before abandoning a publish attempt for a message. Default: 1m0s
The topic to publish to.
12 nested properties
The URI of the gRPC target to connect to.
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
2 nested properties
Whether Bento should healthcheck the unary Check rpc endpoint on init connection: gRPC Health Checking Default: false
The name of the service to healthcheck, note that the default value of "", will attempt to check the health of the whole server Default:
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The name of the method to invoke
Allows you to specify open authentication via OAuth version 2 using the client credentials token flow.
6 nested properties
A value used to identify the client to the token provider. Default:
A secret used to establish ownership of the client key. Default:
Whether to use OAuth version 2 in requests. Default: false
A list of optional endpoint parameters, values should be arrays of strings. Default: map[]
A list of optional requested permissions. Default: []
The URL of the token provider. Default:
Whether responses from the server should be propagated back to the input. Default: false
A list of filepaths of .proto files that should contain the schemas necessary for the gRPC method. Default: []
If set to true, Bento will acquire the protobuf schema for the method from the server via gRPC Reflection. Default: false
The type of the rpc method. Default: unary
The name of the service.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
6 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
A directory to store message files within. If the directory does not exist it will be created.
A list of target host addresses to connect to.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
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
A user ID to connect as. Default:
26 nested properties
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]
Allows you to specify basic authentication.
3 nested properties
Whether to use basic authentication in requests. Default: false
A password to authenticate with. Default:
A username to authenticate as. Default:
Send message batches as a single request using RFC1341. If disabled messages in batches will be sent as individual requests. Default: false
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
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: []
EXPERIMENTAL: Optionally set a level at which the request and response payload of each request made will be logged. Default:
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
Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []
Provide a list of explicit metadata key prefixes to match against. Default: []
A map of headers to add to the request. Default: map[]
BETA: Allows you to specify JWT authentication.
5 nested properties
A value used to identify the claims that issued the JWT. Default: map[]
Whether to use JWT authentication in requests. Default: false
Add optional key/value headers to the JWT. Default: map[]
A file with the PEM encoded via PKCS1 or PKCS8 as private key. Default:
A method used to sign the token such as RS256, RS384, RS512 or EdDSA. Default:
The maximum number of parallel message batches to have in flight at any given time. Default: 64
The maximum period to wait between failed requests. Default: 300s
Specify optional matching rules to determine which metadata keys should be added to the HTTP request as headers.
2 nested properties
Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []
Provide a list of explicit metadata key prefixes to match against. Default: []
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: []
Allows you to specify open authentication via OAuth version 1.
5 nested properties
A value used to gain access to the protected resources on behalf of the user. Default:
A secret provided in order to establish ownership of a given access token. Default:
A value used to identify the client to the service provider. Default:
A secret used to establish ownership of the consumer key. Default:
Whether to use OAuth version 1 in requests. Default: false
Allows you to specify open authentication via OAuth version 2 using the client credentials token flow.
6 nested properties
A value used to identify the client to the token provider. Default:
A secret used to establish ownership of the client key. Default:
Whether to use OAuth version 2 in requests. Default: false
A list of optional endpoint parameters, values should be arrays of strings. Default: map[]
A list of optional requested permissions. Default: []
The URL of the token provider. Default:
Whether responses from the server should be propagated back to the input. Default: false
An optional HTTP proxy URL.
An optional rate limit to throttle requests by.
The maximum number of retry attempts to make. Default: 3
The base period to wait between failed requests. Default: 1s
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: []
A static timeout to apply to requests. Default: 5s
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
Custom transport options.
6 nested properties
Settings for the dialer used to create new connections.
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
If true, the transport will attempt to use HTTP/2. Default: true
Maximum time an idle keep-alive connection remains open before closing itself. Default: 90s
Maximum number of idle keep-alive connections. Zero = unlimited. Default: 100
Maximum time allowed for TLS handshake to complete. Default: 10s
The URL to connect to.
A verb to connect with Default: POST
15 nested properties
An alternative address to host from. If left empty the service wide address is used. Default:
An array of verbs that are allowed for the path and stream_path HTTP endpoint. Default: [GET]
Enable TLS by specifying a certificate and key file. Only valid with a custom address. Default:
Adds Cross-Origin Resource Sharing headers. Only valid with a custom address.
4 nested properties
Appends additional headers to the list of default allowed headers: Accept, Accept-Language, Content-Language & Origin. These default headers are therefore always allowed. Default: []
Used to explicitly set allowed methods in the Access-Control-Allow-Methods header. Default: [GET HEAD POST PUT PATCH DELETE]
An explicit list of origins that are allowed for CORS requests. Default: []
Whether to allow CORS requests. Default: false
The time to wait before sending a heartbeat message. Default: 0s
Enable TLS by specifying a certificate and key file. Only valid with a custom address. Default:
The path from which discrete messages can be consumed. Default: /get
Send pings to client with this period. Must be less than pong wait. Default: 54s
The time allowed to read the next pong message from the client. Default: 60s
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
The path from which a continuous stream of messages can be consumed. Default: /get/stream
The maximum time to wait before a blocking, inactive connection is dropped (only applies to the path endpoint). Default: 5s
The time allowed to write a message to the websocket. Default: 10s
Type of websocket message Default: binary
The path from which websocket connections can be established. Default: /get/ws
Default:
24 nested properties
Ensure that messages have been copied across all replicas before acknowledging receipt. Default: false
A list of broker addresses to connect to. If an item of the list contains commas it will be expanded into multiple addresses.
Control time intervals between retry attempts.
3 nested properties
The initial period to wait between retry attempts. Default: 3s
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
The maximum period to wait between retry attempts Default: 10s
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
An identifier for the client connection. Default: bento
The compression algorithm to use. Default: none
If enabled, topics will be created with the specified number of partitions and replication factor if they do not already exist.
3 nested properties
Whether to enable custom topic creation. Default: false
The number of partitions to create for new topics. Leave at -1 to use the broker configured default. Must be >= 1. Default: -1
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
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
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.
The key to publish messages with. Default:
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The maximum size in bytes of messages sent to the target topic. Default: 1000000
The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0
Specify criteria for which metadata values are sent with messages as headers.
1 nested properties
Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []
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:
The partitioning algorithm to use. Default: fnv1a_hash
A rack identifier for this client. Default:
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
Enables SASL authentication.
7 nested properties
A static OAUTHBEARER access token Default:
Contains AWS specific fields for when the mechanism is set to AWS_MSK_IAM.
The SASL authentication mechanism, if left empty SASL authentication is not used. Default: none
A PLAIN password. It is recommended that you use environment variables to populate this field. Default:
Instead of using a static access_token allows you to query a cache resource to fetch OAUTHBEARER tokens from Default:
Required when using a token_cache, the key to query the cache with for tokens. Default:
A PLAIN username. It is recommended that you use environment variables to populate this field. Default:
An optional map of static headers that should be added to messages in addition to metadata.
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.
The maximum period of time to wait for message sends before abandoning the request and retrying. Default: 5s
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The topic to publish messages to.
19 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
An identifier for the client connection. Default: bento
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.
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
An optional key to populate for each message.
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
The maximum number of batches to be sending in parallel at any given time. Default: 10
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
Determine which (if any) metadata values should be added to messages as headers.
2 nested properties
Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []
Provide a list of explicit metadata key prefixes to match against. Default: []
This sets the maximum age for the client's cached metadata, to allow detection of new topics, partitions, etc. Default: 5m
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.
Override the default murmur2 hashing partitioner.
A rack identifier for this client. Default:
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.
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.
The maximum period of time to wait for message sends before abandoning the request and retrying Default: 10s
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A topic to write messages to.
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
Sets a slight imbalance so that the partitioner can produce more to brokers that are less loaded. Default: false
The number of bytes the partitioner will return the same partition for. Default: 1MB
If true, uses standard hashing based on record key for records with non-nil keys. Default: false
15 nested properties
Control time intervals between retry attempts.
3 nested properties
The initial period to wait between retry attempts. Default: 1s
The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 30s
The maximum period to wait between retry attempts. Default: 5s
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
The name of the target collection.
The name of the target MongoDB database.
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:
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:
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:
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 3
The mongodb operation to perform. Default: update-one
The password to connect to the database. Default:
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
The URL of the target MongoDB server.
The username to connect to the database. Default:
The write concern settings for the mongo connection.
3 nested properties
J requests acknowledgement from MongoDB that write operations are written to the journal. Default: false
W requests acknowledgement that write operations propagate to the specified number of mongodb instances. Default:
The write concern timeout. Default:
15 nested properties
An identifier for the client connection. Default:
The maximum amount of time to wait in order to establish a connection before the attempt is abandoned. Default: 30s
Append a dynamically generated suffix to the specified client_id on each run of the pipeline. This can be useful when clustering Bento producers.
Max seconds of inactivity before a keepalive message is sent. Default: 30
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
A password to connect with. Default:
The QoS value to set for each message. Has options 0, 1, 2. Default: 1
Set message as retained on the topic. Default: false
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.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The topic to publish messages to.
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
A username to connect with. Default:
Set last will message in case of Bento failure
5 nested properties
Whether to enable last will messages. Default: false
Set payload for last will message. Default:
Set QoS for last will message. Valid values are: 0, 1, 2. Default: 0
Set retained for last will message. Default: false
Set topic for last will message. Default:
The maximum amount of time to wait to write data before the attempt is abandoned. Default: 3s
5 nested properties
Whether the URLs listed should be bind (otherwise they are connected to). Default: false
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The maximum period of time to wait for a message to send before the request is abandoned and reattempted. Default: 5s
The socket type to send with. Default: PUSH
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
8 nested properties
Optional configuration of NATS authentication parameters.
4 nested properties
An optional file containing a NKey seed.
An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.
An optional plain text user JWT (given along with the corresponding user NKey Seed).
An optional plain text user NKey Seed (given along with the corresponding user JWT).
Explicit message headers to add to messages. Default: map[]
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.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
Determine which (if any) metadata values should be added to messages as headers.
2 nested properties
Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []
Provide a list of explicit metadata key prefixes to match against. Default: []
The subject to publish to.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
8 nested properties
Optional configuration of NATS authentication parameters.
4 nested properties
An optional file containing a NKey seed.
An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.
An optional plain text user JWT (given along with the corresponding user NKey Seed).
An optional plain text user NKey Seed (given along with the corresponding user JWT).
Explicit message headers to add to messages. Default: map[]
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.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 1024
Determine which (if any) metadata values should be added to messages as headers.
2 nested properties
Provide a list of explicit metadata key regular expression (re2) patterns to match against. Default: []
Provide a list of explicit metadata key prefixes to match against. Default: []
A subject to write to.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
6 nested properties
Optional configuration of NATS authentication parameters.
4 nested properties
An optional file containing a NKey seed.
An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.
An optional plain text user JWT (given along with the corresponding user NKey Seed).
An optional plain text user NKey Seed (given along with the corresponding user JWT).
The name of the KV bucket.
The key for each message.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 1024
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
6 nested properties
Optional configuration of NATS authentication parameters.
4 nested properties
An optional file containing a NKey seed.
An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.
An optional plain text user JWT (given along with the corresponding user NKey Seed).
An optional plain text user NKey Seed (given along with the corresponding user JWT).
The name of the object store bucket.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The object name for each message.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
8 nested properties
Optional configuration of NATS authentication parameters.
4 nested properties
An optional file containing a NKey seed.
An optional file containing user credentials which consist of an user JWT and corresponding NKey seed.
An optional plain text user JWT (given along with the corresponding user NKey Seed).
An optional plain text user NKey Seed (given along with the corresponding user JWT).
The client ID to connect with. Default:
The cluster ID to publish to.
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.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The subject to publish to.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
6 nested properties
An optional secret for NSQ authentication (requires nsqd 0.2.29+).
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The address of the target NSQD server.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The topic to publish to.
A user agent to assume when connecting.
11 nested properties
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.
Enables and customises connectivity to Amazon Elastic Service.
4 nested properties
Optional manual configuration of AWS credentials to use. More information can be found in this document.
Whether to connect to Amazon Elastic Service. Default: false
Allows you to specify a custom endpoint for the AWS API. Default:
The AWS region to target. Default:
Allows you to specify basic authentication.
3 nested properties
Whether to use basic authentication in requests. Default: false
A password to authenticate with. Default:
A username to authenticate as. Default:
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
The ID for indexed messages. Interpolation should be used in order to create a unique ID for each message.
The index to place messages.
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
An optional pipeline id to preprocess incoming documents. Default:
The routing key to use for the document. Default:
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
7 nested properties
Optional configuration of Pulsar authentication methods.
2 nested properties
Parameters for Pulsar OAuth2 authentication.
Parameters for Pulsar Token authentication.
The key to publish messages with. Default:
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The ordering key to publish messages with. Default:
Specify the path to a custom CA certificate to trust broker TLS service.
1 nested properties
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:
The topic to publish to.
A URL to connect to.
9 nested properties
Pusher app id
maximum batch size is 10 (limit of the pusher library)
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Pusher channel to publish to. Interpolation functions can also be used
Pusher cluster
Event to publish to
Pusher key
The maximum number of parallel message batches to have in flight at any given time. Default: 1
Pusher secret
Enable SSL encryption Default: true
18 nested properties
Address of the QuestDB server's HTTP port (excluding protocol)
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Name of the designated timestamp field
Designated timestamp field units Default: auto
Columns that should be double type, (int is default)
Mark a message as errored if it is empty after field validation Default: false
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
Password for HTTP basic auth
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.
The time to wait for a response from the server. This is in addition to the calculation derived from the request_min_throughput parameter.
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.
Columns that should be the SYMBOL type (string values default to STRING)
Destination table
String fields with textual timestamps
Timestamp format, used when parsing timestamp string fields. Specified in golang's time.Parse layout Default: Jan _2 15:04:05.000000Z0700
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
Bearer token for HTTP auth (takes precedence over basic auth username & password)
Username for HTTP basic auth
9 nested properties
A map of key/value pairs to set as hash fields. Default: map[]
The key for each message, function interpolations should be used to create a unique key per message.
Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple
Name of the redis master when kind is failover Default:
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
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
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The URL of the target Redis server. Database is optional and is supplied as the URL path.
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
Whether all metadata fields of messages should be walked and added to the list of hash fields to set. Default: false
8 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
The command used to push elements to the Redis list Default: rpush
The key for each message, function interpolations can be optionally used to create a unique key per message.
Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple
Name of the redis master when kind is failover Default:
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
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
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The URL of the target Redis server. Database is optional and is supplied as the URL path.
7 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
The channel to publish messages to.
Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple
Name of the redis master when kind is failover Default:
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
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
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The URL of the target Redis server. Database is optional and is supplied as the URL path.
10 nested properties
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
A key to set the raw body of the message to. Default: body
Specifies a simple, cluster-aware, or failover-aware redis client. Default: simple
Name of the redis master when kind is failover Default:
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
When greater than zero enforces a rough cap on the length of the target stream. Default: 0
Specify criteria for which metadata values are included in the message body.
1 nested properties
Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages. Default: []
The stream to add messages to.
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
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The URL of the target Redis server. Database is optional and is supplied as the URL path.
Default:
Default:
3 nested properties
Control time intervals between retry attempts.
3 nested properties
The initial period to wait between retry attempts. Default: 500ms
The maximum period to wait before retry attempts are abandoned. If zero then no limit is used. Default: 0s
The maximum period to wait between retry attempts. Default: 3s
The maximum number of retries before giving up on the request. If set to zero there is no discrete limit. Default: 0
A child output.
6 nested properties
Access token for S2 account
Basin name
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Enforce a fencing token (base64 encoded)
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
Stream name
5 nested properties
The address of the server to connect to.
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
The credentials to use to log into the target server.
4 nested properties
The password for the username to connect to the SFTP server. Default:
The private key for the username to connect to the SFTP server. Default:
Optional passphrase for private key. Default:
The username to connect to the SFTP server. Default:
The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Default: 64
The file to save the messages to on the server.
3 nested properties
The maximum time to wait before abandoning a request (and trying again). Default: 5s
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
Slack webhook URL to post messages
22 nested properties
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.
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Enable Snowflake keepalive mechanism to prevent the client session from expiring after 4 hours (error 390114). Default: false
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>).
Compression type. Default: AUTO
Database.
Stage file extension. Will be derived from the configured compression if not set or empty. Default:
Stage file name. Will be equal to the Request ID if not set or empty. Default:
The maximum number of parallel message batches to have in flight at any given time. Default: 1
An optional password.
Stage path. Default:
The path to a file containing the private SSH key.
An optional private SSH key passphrase.
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>).
Request ID. Will be assigned a random UUID (v4) string if not set or empty. Default:
Role.
Schema.
An optional Snowpipe name. Use the <snowpipe> part from <database>.<schema>.<snowpipe>.
Stage name. Use either one of the supported stage types.
Specifies the number of threads to use for uploading files. Default: 4
Username.
Warehouse.
3 nested properties
The address to connect to.
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
A network type to connect as.
13 nested properties
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
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 100
A period in which an incomplete batch should be flushed regardless of its size. Default: 30s
Set the host value to assign to the event data. Overrides existing host field if present. Default:
Set the index value to assign to the event data. Overrides existing index field if present. Default:
Set the source value to assign to the event data. Overrides existing source field if present. Default:
Set the sourcetype value to assign to the event data. Overrides existing sourcetype field if present. Default:
Enable gzip compression Default: false
The maximum number of parallel message batches to have in flight at any given time. Default: 64
An optional rate limit resource to restrict API requests with. Default:
Whether to skip server side certificate verification. Default: false
A bot token used for authentication.
Full HTTP Endpoint Collector (HEC) URL, ie. https://foobar.splunkcloud.com/services/collector/event
6 nested properties
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.
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
Data source name.
A database driver to use.
The maximum number of inserts to run in parallel. Default: 64
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:
| Driver | Placeholder Style |
|---|---|
clickhouse | Dollar sign |
mysql | Question mark |
postgres | Dollar sign |
mssql | Question mark |
sqlite | Question mark |
oracle | Colon |
snowflake | Question mark |
spanner | Question mark |
trino | Question mark |
gocosmos | Colon |
22 nested properties
A Bloblang mapping which should evaluate to an array of values matching in size to the number of columns specified.
Optional Fields that can be set to use Azure based authentication for Azure Postgres SQL
2 nested properties
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
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
A list of columns to insert.
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
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.
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.
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).
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
A database driver to use.
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:
| Driver | Data Source Name Format |
|---|---|
clickhouse | clickhouse://[username[:password]@][netloc][:port]/dbname[?param1=value1&...¶mN=valueN] |
mysql | [username[:password]@][protocol[(address)]]/dbname[?param1=value1&...¶mN=valueN] |
postgres | postgres://[user[:password]@][netloc][:port][/dbname][?param1=value1&...] |
mssql | sqlserver://[user[:password]@][netloc][:port][?database=dbname¶m1=value1&...] |
sqlite | file:/path/to/filename.db[?param&=value1&...] |
oracle | oracle://[username[:password]@][netloc][:port]/service_name?server=server2&server=server3 |
snowflake | username[:password]@account_identifier/dbname/schemaname[?param1=value&...¶mN=valueN] |
spanner | projects/[project]/instances/[instance]/databases/dbname |
trino | http[s]://user[:pass]@host[:port][?parameters] |
gocosmos | AccountEndpoint=<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.
Allows you to specify a custom endpoint for the AWS API. Default:
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
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.
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.
Whether to verify the database connection on startup by performing a simple ping, by default this is disabled. Default: false
The maximum number of inserts to run in parallel. Default: 64
An optional prefix to prepend to the insert query (before INSERT).
The AWS region to target. Default:
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.
An optional suffix to append to the insert query.
The table to insert to.
20 nested properties
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.
Optional Fields that can be set to use Azure based authentication for Azure Postgres SQL
2 nested properties
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
Allows you to configure a batching policy.
6 nested properties
An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Default: 0
A Bloblang query that should return a boolean value indicating whether a message should end a batch. Default:
A number of messages at which the batch should be flushed. If 0 disables count based batching. Default: 0
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
A period in which an incomplete batch should be flushed regardless of its size. Default:
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.
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
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.
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.
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).
Optional manual configuration of AWS credentials to use. More information can be found in this document.
8 nested properties
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:
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance. Default: false
The ID of credentials to use. Default:
A profile from ~/.aws/credentials to use. Default:
A role ARN to assume. Default:
An external ID to provide when assuming a role. Default:
The secret for the credentials being used. Default:
The token for the credentials being used, required when using short term credentials. Default:
A database driver to use.
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:
| Driver | Data Source Name Format |
|---|---|
clickhouse | clickhouse://[username[:password]@][netloc][:port]/dbname[?param1=value1&...¶mN=valueN] |
mysql | [username[:password]@][protocol[(address)]]/dbname[?param1=value1&...¶mN=valueN] |
postgres | postgres://[user[:password]@][netloc][:port][/dbname][?param1=value1&...] |
mssql | sqlserver://[user[:password]@][netloc][:port][?database=dbname¶m1=value1&...] |
sqlite | file:/path/to/filename.db[?param&=value1&...] |
oracle | oracle://[username[:password]@][netloc][:port]/service_name?server=server2&server=server3 |
snowflake | username[:password]@account_identifier/dbname/schemaname[?param1=value&...¶mN=valueN] |
spanner | projects/[project]/instances/[instance]/databases/dbname |
trino | http[s]://user[:pass]@host[:port][?parameters] |
gocosmos | AccountEndpoint=<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.
Allows you to specify a custom endpoint for the AWS API. Default:
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
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.
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.
Whether to verify the database connection on startup by performing a simple ping, by default this is disabled. Default: false
The maximum number of inserts to run in parallel. Default: 64
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:
| Driver | Placeholder Style |
|---|---|
clickhouse | Dollar sign |
mysql | Question mark |
postgres | Dollar sign |
mssql | Question mark |
sqlite | Question mark |
oracle | Colon |
snowflake | Question mark |
spanner | Question mark |
trino | Question mark |
gocosmos | Colon |
The AWS region to target. Default:
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.
Whether to enable interpolation functions in the query. Great care should be made to ensure your queries are defended against injection attacks. Default: false
1 nested properties
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
3 nested properties
A list of arguments to provide the command. Default: []
The way in which messages should be written to the subprocess. Default: lines
The command to execute as a subprocess.
3 nested properties
A list of switch cases, outlining outputs that can be routed to.
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
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
Default: map[]
6 nested properties
Allows you to specify basic authentication.
3 nested properties
Whether to use basic authentication in requests. Default: false
A password to authenticate with. Default:
A username to authenticate as. Default:
BETA: Allows you to specify JWT authentication.
5 nested properties
A value used to identify the claims that issued the JWT. Default: map[]
Whether to use JWT authentication in requests. Default: false
Add optional key/value headers to the JWT. Default: map[]
A file with the PEM encoded via PKCS1 or PKCS8 as private key. Default:
A method used to sign the token such as RS256, RS384, RS512 or EdDSA. Default:
Allows you to specify open authentication via OAuth version 1.
5 nested properties
A value used to gain access to the protected resources on behalf of the user. Default:
A secret provided in order to establish ownership of a given access token. Default:
A value used to identify the client to the service provider. Default:
A secret used to establish ownership of the consumer key. Default:
Whether to use OAuth version 1 in requests. Default: false
An optional HTTP proxy URL.
Custom TLS settings can be used to override system defaults.
6 nested properties
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: []
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
Whether custom TLS settings are enabled. Default: false
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:
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:
Whether to skip server side certificate verification. Default: false
The URL to connect to.
9 nested properties
Whether to bind to the specified URLs (otherwise they are connected to). Default: true
The maximum number of dial retries (-1 for infinite retries). Default: 10
The time to wait between failed dial attempts. Default: 250ms
The maximum time to wait for a dial to complete. Default: 5m
The message high water mark to use. (experimental i go-zeromq) Default: 0
The poll timeout to use. Default: 5s
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
The socket type to connect as.
A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.
Describes optional processing pipelines used for mutating messages.
2 nested properties
A list of processors to apply to messages. Default: []
The number of threads to execute processing pipelines across. Default: -1
A list of processor resources, each must have a unique label. Default: []
A list of rate limit resources, each must have a unique label. Default: []
A period of time to wait for metrics and traces to be pulled or pushed from the process. Default: 0s
The maximum period of time to wait for a clean shutdown. If this time is exceeded Bento will forcefully close. Default: 20s
A list of one or more unit tests to execute.
A mechanism for exporting traces. Default: map[none:map[]]
4 nested properties
4 nested properties
The period of time between each flush of tracing spans.
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.
Sets the ratio of traces to sample. Tuning the sampling ratio is recommended for high-volume production workloads. Default: 1
A map of tags to add to tracing spans. Default: map[]
6 nested properties
The address of a Jaeger agent to send tracing events to. Default:
The URL of a Jaeger collector to send tracing events to. If set, this will override agent_address. Default:
The period of time between each flush of tracing spans.
A parameter to use for sampling. This field is unused for some sampling types. Default: 1
The sampler type to use. Default: const
A map of tags to add to tracing spans. Default: map[]
Default: map[]
4 nested properties
A list of grpc collectors.
A list of http collectors.
Settings for trace sampling. Sampling is recommended for high-volume production workloads.
2 nested properties
Whether to enable sampling. Default: false
Sets the ratio of traces to sample.
A map of tags to add to all tracing spans. Default: map[]