= amqp_1
:type: input
:status: stable
:categories: ["Services"]



////
     THIS FILE IS AUTOGENERATED!

     To make changes, edit the corresponding source file under:

     https://github.com/redpanda-data/connect/tree/main/internal/impl/<provider>.

     And:

     https://github.com/redpanda-data/connect/tree/main/cmd/tools/docs_gen/templates/plugin.adoc.tmpl
////

// © 2024 Redpanda Data Inc.


component_type_dropdown::[]


Reads messages from an AMQP (1.0) server.


[tabs]
======
Common::
+
--

```yml
# Common config fields, showing default values
input:
  label: ""
  amqp_1:
    urls: [] # No default (optional)
    source_address: /foo # No default (required)
```

--
Advanced::
+
--

```yml
# 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:

```text
- amqp_content_type
- amqp_content_encoding
- amqp_creation_time
- All string typed message annotations
```

You can access these metadata fields using xref:configuration:interpolation.adoc#bloblang-queries[function interpolation].

By setting `read_header` to `true`, additional message header properties will be added to each message:

```text
- 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`

Requires version 4.23.0 or newer

```yml
# 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/
```

=== `source_address`

The source address to consume from.


*Type*: `string`


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

=== `read_header`

Read additional message header fields into `amqp_*` metadata properties.


*Type*: `bool`

*Default*: `false`
Requires version 4.25.0 or newer

=== `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`
Requires version 4.26.0 or newer

=== `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.
[CAUTION]
====
This field contains sensitive information that usually shouldn't be added to a config directly, read our xref:configuration:secrets.adoc[secrets page for more info].
====



*Type*: `string`

*Default*: `""`

```yml
# 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*: `""`

```yml
# 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*: `[]`

```yml
# 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.
[CAUTION]
====
This field contains sensitive information that usually shouldn't be added to a config directly, read our xref:configuration:secrets.adoc[secrets page for more info].
====



*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.

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.
[CAUTION]
====
This field contains sensitive information that usually shouldn't be added to a config directly, read our xref:configuration:secrets.adoc[secrets page for more info].
====



*Type*: `string`

*Default*: `""`

```yml
# Examples

password: foo

password: ${KEY_PASSWORD}
```

=== `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*: `""`

```yml
# Examples

user: ${USER}
```

=== `sasl.password`

A SASL plain text password. It is recommended that you use environment variables to populate this field.
[CAUTION]
====
This field contains sensitive information that usually shouldn't be added to a config directly, read our xref:configuration:secrets.adoc[secrets page for more info].
====



*Type*: `string`

*Default*: `""`

```yml
# Examples

password: ${PASSWORD}
```


