amqp_1
Last updated: 4 minutes read.
Reads messages from an AMQP (1.0) server.
Common
# Common config fields, showing default values
input:
label: ""
amqp_1:
urls: [] # No default (optional)
source_address: /foo # No default (required)
Advanced
# All config fields, showing default values
input:
label: ""
amqp_1:
urls: [] # No default (optional)
source_address: /foo # No default (required)
azure_renew_lock: false
read_header: false
credit: 64
tls:
enabled: false
skip_cert_verify: false
enable_renegotiation: false
root_cas: ""
root_cas_file: ""
client_certs: []
sasl:
mechanism: none
user: ""
password: ""
Metadata
This input adds the following metadata fields to each message:
- amqp_content_type
- amqp_content_encoding
- amqp_creation_time
- All string typed message annotations
You can access these metadata fields using function interpolation.
By setting read_header
to true
, additional message header properties will be added to each message:
- amqp_durable
- amqp_priority
- amqp_ttl
- amqp_first_acquirer
- amqp_delivery_count
Performance
This input benefits from receiving multiple messages in flight in parallel for improved performance.
You can tune the max number of in flight messages with the field credit
.
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
# Examples
urls:
- amqp://guest:[email protected]: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/
source_address
The source address to consume from.
Type: string
# Examples
source_address: /foo
source_address: queue:/bar
source_address: topic:/baz
azure_renew_lock
Experimental: Azure service bus specific option to renew lock if processing takes more then configured lock time
Type: bool
Default: false
read_header
Read additional message header fields into amqp_*
metadata properties.
Type: bool
Default: false
credit
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.
Type: int
Default: 64
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
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 of a certificate to use.
Type: string
Default: ""
tls.client_certs[].key_file
The path of a certificate key to use.
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. Warning: Since it does not authenticate the ciphertext, it is vulnerable to padding oracle attacks that can let an attacker recover the plaintext.
Type: string
Default: ""
# Example
password: foo
sasl
Enables SASL authentication.
Type: object
sasl.mechanism
The SASL authentication mechanism to use.
Type: string
Default: "none"
Option | Summary |
---|---|
anonymous |
Anonymous SASL authentication. |
none |
No SASL based authentication. |
plain |
Plain text SASL authentication. |
sasl.user
A SASL plain text username. It is recommended that you use environment variables to populate this field.
Type: string
Default: ""
# Examples
user: ${USER}
sasl.password
A SASL plain text password. It is recommended that you use environment variables to populate this field.
Type: string
Default: ""
# Examples
password: ${PASSWORD}