nats_request_reply
Sends a message to a NATS subject and expects a reply back from a NATS subscriber acting as a responder.
-
Common
-
Advanced
processors:
label: ""
nats_request_reply:
urls: [] # No default (required)
subject: "" # No default (required)
headers: {}
metadata:
include_prefixes: []
include_patterns: []
timeout: 3s
processors:
label: ""
nats_request_reply:
urls: [] # No default (required)
max_reconnects: "" # No default (optional)
subject: "" # No default (required)
inbox_prefix: "" # No default (optional)
headers: {}
metadata:
include_prefixes: []
include_patterns: []
timeout: 3s
tls:
enabled: false
skip_cert_verify: false
enable_renegotiation: false
root_cas: ""
root_cas_file: ""
client_certs: []
tls_handshake_first: false
auth:
nkey_file: "" # No default (optional)
nkey: "" # No default (optional)
user_credentials_file: "" # No default (optional)
user_jwt: "" # No default (optional)
user_nkey_seed: "" # No default (optional)
user: "" # No default (optional)
password: "" # No default (optional)
token: "" # No default (optional)
Metadata
This input adds the following metadata fields to each message:
-
nats_subject -
nats_sequence_stream -
nats_sequence_consumer -
nats_num_delivered -
nats_num_pending -
nats_domain -
nats_timestamp_unix_nano
You can access these metadata fields using function interpolation.
Fields
auth.nkey
Your NKey seed or private key for NATS authentication. NKeys provide secure, cryptographic authentication without passwords.
|
This field contains sensitive information that usually shouldn’t be added to a configuration directly. For more information, see Manage Secrets before adding it to your configuration. |
Type: string
# Examples:
nkey: UDXU4RCSJNZOIQHZNWXHXORDPRTGNJAHAHFRGZNEEJCPQTT2M7NLCNF4
auth.nkey_file
An optional file containing a NKey seed.
Type: string
# Examples:
nkey_file: ./seed.nk
auth.password
An optional plain text password (given along with the corresponding user name).
|
This field contains sensitive information that usually shouldn’t be added to a configuration directly. For more information, see Manage Secrets before adding it to your configuration. |
Type: string
auth.token
An optional plain text token.
|
This field contains sensitive information that usually shouldn’t be added to a configuration directly. For more information, see Manage Secrets before adding it to your configuration. |
Type: string
auth.user
An optional plain text user name (given along with the corresponding user password).
Type: string
auth.user_credentials_file
An optional file containing user credentials which consist of a user JWT and corresponding NKey seed.
Type: string
# Examples:
user_credentials_file: ./user.creds
auth.user_jwt
An optional plaintext user JWT to use along with the corresponding user NKey seed.
|
This field contains sensitive information that usually shouldn’t be added to a configuration directly. For more information, see Manage Secrets before adding it to your configuration. |
Type: string
auth.user_nkey_seed
An optional plaintext user NKey seed to use along with the corresponding user JWT.
|
This field contains sensitive information that usually shouldn’t be added to a configuration directly. For more information, see Manage Secrets before adding it to your configuration. |
Type: string
headers
Explicit message headers to add to messages. This field supports interpolation functions.
Type: string
Default: {}
# Examples:
headers:
Content-Type: application/json
Timestamp: ${!meta("Timestamp")}
inbox_prefix
Set an explicit inbox prefix for the response subject
Type: string
# Examples:
inbox_prefix: _INBOX_joe
max_reconnects
The maximum number of times to attempt to reconnect to the server. If negative, it will never stop trying to reconnect.
Type: int
metadata
Determine which (if any) metadata values should be added to messages as headers.
Type: object
metadata.include_patterns[]
Provide a list of explicit metadata key regular expression (re2) patterns to match against.
Type: array
Default: []
# Examples:
include_patterns:
- .*
# ---
include_patterns:
- _timestamp_unix$
metadata.include_prefixes[]
Provide a list of explicit metadata key prefixes to match against.
Type: array
Default: []
# Examples:
include_prefixes:
- foo_
- bar_
# ---
include_prefixes:
- kafka_
# ---
include_prefixes:
- content-
subject
A subject to write to. This field supports interpolation functions.
Type: string
# Examples:
subject: foo.bar.baz
# ---
subject: ${! meta("kafka_topic") }
# ---
subject: foo.${! json("meta.type") }
timeout
A duration string is a possibly signed sequence of decimal numbers, each with optional fraction and a unit suffix, such as 300ms, -1.5h or 2h45m. Valid time units are ns, us (or µs), ms, s, m, h.
Type: string
Default: 3s
tls.client_certs[]
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.
Type: object
Default: []
# Examples:
client_certs:
- cert: foo
key: bar
# ---
client_certs:
- cert_file: ./example.pem
key_file: ./example.key
tls.client_certs[].key
A plain text certificate key to use.
|
This field contains sensitive information that usually shouldn’t be added to a configuration directly. For more information, see Manage Secrets before adding it to your configuration. |
Type: string
Default: ""
tls.client_certs[].password
A plain text password for when the private key is password encrypted in PKCS#1 or PKCS#8 format. The obsolete pbeWithMD5AndDES-CBC algorithm is not supported for the PKCS#8 format.
Because the obsolete pbeWithMD5AndDES-CBC algorithm does not authenticate the ciphertext, it is vulnerable to padding oracle attacks that can let an attacker recover the plaintext.
|
This field contains sensitive information that usually shouldn’t be added to a configuration directly. For more information, see Manage Secrets before adding it to your configuration. |
Type: string
Default: ""
# Examples:
password: foo
# ---
password: ${KEY_PASSWORD}
tls.enable_renegotiation
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.
Type: bool
Default: false
tls.root_cas
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.
|
This field contains sensitive information that usually shouldn’t be added to a configuration directly. For more information, see Manage Secrets before adding it to your configuration. |
Type: string
Default: ""
# Examples:
root_cas: |-
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
tls.root_cas_file
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.
Type: string
Default: ""
# Examples:
root_cas_file: ./root_cas.pem
tls.skip_cert_verify
Whether to skip server side certificate verification.
Type: bool
Default: false