Skip to main content

amqp

DEPRECATED

This component is deprecated and will be removed in the next major version release. Please consider moving onto alternative components.

# Common config fields, showing default values
output:
label: ""
amqp:
urls: []
exchange: benthos-exchange
key: benthos-key
type: ""
metadata:
exclude_prefixes: []
max_in_flight: 1

DEPRECATED: This output is deprecated and scheduled for removal in Benthos V4. Please use amqp_0_9 instead.

Fields​

urls​

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.

Type: array
Default: []
Requires version 3.58.0 or newer

# Examples
urls:
- amqp://guest:guest@127.0.0.1:5672/
urls:
- amqp://127.0.0.1:5672/,amqp://127.0.0.2:5672/
urls:
- amqp://127.0.0.1:5672/
- amqp://127.0.0.2:5672/

exchange​

An AMQP exchange to publish to.

Type: string
Default: "benthos-exchange"

exchange_declare​

Optionally declare the target exchange (passive).

Type: object

exchange_declare.enabled​

Whether to declare the exchange.

Type: bool
Default: false

exchange_declare.type​

The type of the exchange.

Type: string
Default: "direct"
Options: direct, fanout, topic, x-custom.

exchange_declare.durable​

Whether the exchange should be durable.

Type: bool
Default: true

key​

The binding key to set for each message. This field supports interpolation functions.

Type: string
Default: "benthos-key"

type​

The type property to set for each message. This field supports interpolation functions.

Type: string
Default: ""

content_type​

The content type attribute to set for each message. This field supports interpolation functions.

Type: string
Default: "application/octet-stream"

content_encoding​

The content encoding attribute to set for each message. This field supports interpolation functions.

Type: string
Default: ""

metadata​

Specify criteria for which metadata values are attached to objects as headers.

Type: object

metadata.exclude_prefixes​

Provide a list of explicit metadata key prefixes to be excluded when adding metadata to sent messages.

Type: array
Default: []

priority​

Set the priority of each message with a dynamic interpolated expression. This field supports interpolation functions.

Type: string
Default: ""

# Examples
priority: "0"
priority: ${! meta("amqp_priority") }
priority: ${! json("doc.priority") }

max_in_flight​

The maximum number of messages to have in flight at a given time. Increase this to improve throughput.

Type: int
Default: 1

persistent​

Whether message delivery should be persistent (transient by default).

Type: bool
Default: false

mandatory​

Whether to set the mandatory flag on published messages. When set if a published message is routed to zero queues it is returned.

Type: bool
Default: false

immediate​

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.

Type: bool
Default: false

tls​

Custom TLS settings can be used to override system defaults.

Type: object

tls.enabled​

Whether custom TLS settings are enabled.

Type: bool
Default: false

tls.skip_cert_verify​

Whether to skip server side certificate verification.

Type: bool
Default: false

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
Requires version 3.45.0 or newer

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.

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.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: array
Default: []

# Examples
client_certs:
- cert: foo
key: bar
client_certs:
- cert_file: ./example.pem
key_file: ./example.key

tls.client_certs[].cert​

A plain text certificate to use.

Type: string
Default: ""

tls.client_certs[].key​

A plain text certificate key to use.

Type: string
Default: ""

tls.client_certs[].cert_file​

The path to a certificate to use.

Type: string
Default: ""

tls.client_certs[].key_file​

The path of a certificate key to use.

Type: string
Default: ""