RabbitMQ Producer
On this Page
Overview
You can use this Snap to write messages from incoming binary document stream to a RabbitMQ destination queue.
Snap Type
RabbitMQ Producer Snap is a Write-type Snap.
Prerequisites
Access to the RabbitMQ Server.
Privileges to perform various actions on the Queues such as receive and send messages.\
Support for Ultra Pipelines
Works in Ultra Tasks.
Snap Views
Type | Format | Number of Views | Examples of Upstream and Downstream Snaps | Description |
---|---|---|---|---|
Input | Binary
|
|
| Any binary data stream where the binary data is published to the RabbitMQ destination queue. |
Output | Document |
|
| The output view for this Snap is optional. It provides a document with information on the message's status. |
Error | Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter while running the Pipeline by choosing one of the following options from the When errors occur list under the Views tab:
Learn more about Error handling in Pipelines. |
Snap Settings
Asterisk ( * ): Indicates a mandatory field.
Suggestion icon (): Indicates a list that is dynamically populated based on the configuration.
Expression icon ( ): Indicates whether the value is an expression (if enabled) or a static value (if disabled). Learn more about Using Expressions in SnapLogic.
Add icon ( ): Indicates that you can add fields in the fieldset.
Remove icon ( ): Indicates that you can remove fields from the fieldset.
Field | Field Type | Description |
---|---|---|
Label
| String | Required. Specify a unique name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your pipeline. Default value: RabbitMQ Producer |
Exchange
| String/Expression | Specify the name of the RabbitMQ exchange used to publish messages. If you do not specify an exchange, the RabbitMQ server's default exchange is used. Default value: N/A |
Exchange type | Dropdown list | Choose the type of RabbitMQ exchange used to route the messages to the respective queues. Options available include:
Default value: direct |
Durable exchange | Checkbox | Select this checkbox to indicate the durability of the exchange. Default state: Selected |
Queue
| String/Expression | Specify the name of the RabbitMQ queue to which messages have to be pushed. If the queue with the specified name is not existing on the RabbitMQ server, a new queue is created and is bound to the exchange. If there is no Queue name available, the Snap creates a temporary Queue name and uses it until the execution completes and deletes it as soon as the session expires. Default value: N/A |
Create dynamic queue | Checkbox | Select this checkbox to generate a dynamic queue when the queue name is not provided. The Snap publishes the messages on the default (or specified) exchange and stores the messages in the dynamic queue until the session expires and the dynamic queue thus generated is deleted soon after. When the dynamic queue is not selected with:
Default state: Selected |
Auto delete | Checkbox | Select this check box to indicate that the RabbitMQ autoDelete property associated with the existing queue is set to Default state: Deselected. |
Routing Key
| String/Expression | Optional. The routing key will be used to bound the queue with the exchange. Supply the Routing key when the Exchange type is direct and topic to route the message to queues. The routing key is mandatory if a direct or topic exchange type is selected. Messages will not be routed otherwise and the following error will be displayed: "<error message>"
|
x-match | Dropdown list | Specify the x-match value to be submitted for binding. The available options are:
Default value: all Select x-match only when the Exchange type is headers. |
Wait for confirms timeout (ms) | Integer | Specify the timeout in milliseconds. The Snap waits until the message published since the last call has been acknowledged or not by the broker or, until the given timeout elapses. For example, If the time set is 1000 ms, if the Snap does not get the acknowledgment from the broker(Queue) for the published message until the given time, a timeout exception will be recorded. Default value: 0 |
Header Properties
| Specify the header properties that will be used to bind the queue with an exchange as arguments. This fieldset comprises the following fields:
| |
Header key
| String/Expression | Speciy the name of the header that is being used for the binding.
|
Header value
| String/Expression | Specify the header value corresponding to the respective header key. |
Message Properties
| Specifies the properties to be set in RabbitMQ messages. This fieldset comprises the following fields:
| |
Key | String/Expression | Specify the name of the message property. The message properties that can be added are:
|
Value | String/Expression | Specify the value for the message property. |
Argument properties | Specify the custom argument properties to ensure all declarations for the queues use the same configuration/options/arguments. This fieldset comprises the following fields:
| |
Argument key | String/Expression | Specify the name of the argument used for declaration. See Optional Arguments in RabbitMQ documentation for more information. Default value: N/A |
Argument value | String/Expression | Specifies the value corresponding to the argument key. Default value: N/A |
Maximum connection attempts | Integer | Specify the maximum number of connection attempts in case of a connection failure. The Snap retries for the configured number of attempts to establish the connection. Default value: 3 |
Connection retry interval | Integer | Specify the time taken in seconds to wait before retrying for another connection. Default value: 10 |
| Dropdown list |
Examples
Snap Pack History
Have feedback? Email documentation@snaplogic.com | Ask a question in the SnapLogic Community
© 2017-2024 SnapLogic, Inc.