RabbitMQ

Frends.RabbitMQ.Read / 2.3.0

Summary

Reads a bounded number of messages from a queue, with the acknowledgement mode deciding whether they are removed or left for redelivery. Bodies come back both base64-encoded and as text, since a queue may carry either.

Typical use — scheduled consumption, where holding back the acknowledgement is what makes a failed run safe to retry

Details

Frends version
5.5 and newer
Agent
Crossplatform
Target framework
net6.0

Connection and output parameters.

Name Type Default Example Description
ReadMessageCount Int32 1 1

Maximum number of messages to read.

AckType AckType AutoAck AutoAck

Set the acknowledgement type.

Possible values:

  • NoAck: Ack message will not be sent

  • AutoAck: Ack message will be sent automatically

  • AutoNack: Nack message will be sent automatically

  • AutoNackAndRequeue: Nack message will be sent automatically and a message will be requeued

  • AutoReject: Message will be automatically rejected

  • AutoRejectAndRequeue: Message will be automatically rejected and requeued

AuthenticationMethod AuthenticationMethod URI

Authentication method: URI, hostname with username/password, or certificate.

Possible values:

  • URI: Connect with URI.

  • Host: Connect with hostname. Username and password are optional.

  • Certificate: Connect with certificate.

  • CertificateWithCredentials: Connect with certificate and credentials.

HostSecret String RabbitHost, amqp://foo:bar@localhost:1234

URI or hostname to connect to, depending on authentication method.

Username String foo

Username to use when authenticating to the server.

PasswordSecret String bar

Password to use when authenticating to the server.

Port Int32 0

The port to connect on. Value 0 indicates that the default port for the protocol should be used.

SslProtocol SslProtocol SslProtocol.None

Specifies the SSL protocol used for the RabbitMQ connection. Use SslProtocol.None to allow the operating system to negotiate the most secure protocol available.

Possible values:

  • None: Specifies the SSL protocol used for the RabbitMQ connection. Use SslProtocol.None to allow the operating system to negotiate the most secure protocol available.

  • Tls12: Specifies the SSL protocol used for the RabbitMQ connection. Use SslProtocol.None to allow the operating system to negotiate the most secure protocol available.

  • Tls13: Specifies the SSL protocol used for the RabbitMQ connection. Use SslProtocol.None to allow the operating system to negotiate the most secure protocol available.

CertificateSource CertificateSource CertificateSource.File

Specifies the source from which the client certificate should be loaded.

Possible values:

  • File: Specifies the source from which the client certificate should be loaded.

  • Store: Specifies the source from which the client certificate should be loaded.

  • Base64: Specifies the source from which the client certificate should be loaded.

  • RawBytes: Specifies the source from which the client certificate should be loaded.

ClientCertificatePath String C:\certs\client-auth.pfx

Full file system path to a client certificate file (.pfx or .p12) used for TLS client‑certificate authentication.

ClientCertificatePasswordSecret String MyStrongPassword123!

Password required to decrypt the certificate file. Needed for password‑protected .pfx/.p12 certificates.

CertificateBase64Secret String MIIF2wIBAzCCB...

Base64‑encoded representation of a client certificate (.pfx or .p12).

CertificateBytesSecret Byte[] byte[] { 1, 2, 3, 4, 5 }

Raw byte array containing a client certificate (.pfx or .p12).

StoreThumbprint String ab12cd34ef56ab78cd90ef12ab34cd56ef7890ab

Thumbprint of a certificate stored in the Windows certificate store.

CertificateStoreLocation CertificateStoreLocation CertificateStoreLocation.CurrentUser

Windows certificate store location to search when loading a certificate by thumbprint.

Possible values:

  • LocalMachine: Windows certificate store location to search when loading a certificate by thumbprint.

  • CurrentUser: Windows certificate store location to search when loading a certificate by thumbprint.

QueueName String SampleQueue

The name of the queue. Leave empty to make the server generate a name.

ExchangeName String SampleExchange

Exchange's name.

RoutingKey String route

Routing key's name.

VirtualHost String / /

RabbitMQ virtual host to connect to.

Timeout Int32 60

Timeout setting for connection attempts. Value 0 indicates that the default value for the attempts should be used. Set value in seconds.

AllowInvalidCertificate Boolean False false

Decide if the connection be allowed to use an invalid certificate. NOTE: This is not recommended for production environments as it can expose the connection to man-in-the-middle attacks. Use with caution and only in testing or development scenarios where security is not a concern.

An unhandled error has occurred. Reload 🗙