In this article
Overview
You can use this Snap to fetch messages from a RabbitMQ destination.
Snap Type
RabbitMQ Snap is a READ-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 Pipelines.
Limitations and Known Issues
None.
Snap Views
Type | Format | Number of Views | Examples of Upstream and Downstream Snaps | Description |
---|---|---|---|---|
Input | Document |
| Upstream Snap is optional. You can connect any Snap with a document output view, such as Mapper or Copy Snaps upstream of this Snap. | The Snap does not require input data. Input documents may be used to evaluate any JavaScript expression in the File property. |
Output | Binary |
|
| Message consumed from RabbitMQ server as binary document. |
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 Name | Field Type | Description | |
---|---|---|---|
Label* Default Value: RabbitMQ Consumer | String | Specify a unique name for the Snap. | |
Exchange Default Value: N/A | String/Expression | . Specify a name of the RabbitMQ exchange bound to the queue. If you do not specify a value for exchange, the default exchange provided by RabbitMQ is considered. Condition: Either Exchange or Queue has to be specified. | |
Exchange type Default Value: direct | Dropdown list | The type of RabbitMQ exchange used to push messages. Available options are:
| |
Durable Exchange Default Value: Selected | Checkbox | Select this checkbox to enable the exchange to be durable. | |
Queue Default Value: N/A | String/Expression | Conditional. Specify a name of the RabbitMQ queue from which messages have to be consumed. If there is no queue with given queue name on RabbitMQ, then a new queue is created and consumer starts listening. If the exchange name and routing key are also specified, then the queue is bound to the exchange with the given routing key. Either Exchange or Queue has to be specified. | |
Auto delete Default Value: Deselected | Checkbox | Select this check box to indicate that the RabbitMQ autoDelete property associated with the existing queue is set to | |
Routing Key Default Value: | String/Expression | Specify the routing key to be used for binding the queue with the exchange. | |
Processing Mode Default Value: Synchronous | Dropdown list | Select one of the following modes for processing messages: Synchronous: In synchronous mode, the consumer processes messages from the destination one at a time until a STOP is read or the Message Count is reached. If a message is not available, the consumer will retry for an available message at an interval of every 3 secs until the Message count is reached. For example, if the Queue sends 8 messages, and the Message count is set to 10, the consumer processes the 8 messages one after the other, and sleeps for every 3 seconds for the remaining two unavailable messages. Asynchronous: In asynchronous mode, the consumer reads the messages from the destination whenever the message arrives until a 'STOP' is read or the Message Count is reached. The consumer registers a messagelistener asynchronously. It does not block, but calls (the processmessage) immediately once a message is available. | |
Message Acknowledge Mode* Default Value: AUTO_ACKNOWLEDGE | Dropdown list | Select one of the following modes of message acknowledgement for non-transacted sessions:
Select the PIPELINE_CONTROL option when using the RabbitMQ Acknowledge Snap in a pipeline.
| |
x-match Default Value: all | Dropdown list | Specify the x-match value to be submitted for binding. The available options are:
Select x-match only when the Exchange type is header | |
Header properties | Use this fieldset to define header properties to bind the queue with an exchange as arguments. Configure Header properties only when the Exchange type is headers. | ||
Header key Default Value: N/A | String/Expression | Specify the name of the header that is being used for the binding. | |
Header value Default Value: N/A | String/Expression | Specify the header value corresponding to the respective header key. | |
Argument properties | Use this field set to define custom argument properties to ensure all declarations for the queues use the same configuration/options/arguments. | ||
Argument key Default value: N/A | String/Expression | Specify the name of the argument used for declaration. See Optional Arguments in RabbitMQ documentation for more information. | |
Argument value Default value: N/A | String/Expression | Specify the value corresponding to the argument key. | |
Message Count Default value: -1 | Integer/Expression | Controls the number of messages to be consumed from the destination queue before the consumer is stopped. Negative integer value, that is the default value of -1 makes the consumer run indefinitely. Possible values include:
| |
Maximum connection attempts Default Value: 3 | Integer | The maximum number of connection attempts in case of a connection failure. The Snap retries for the configured number of attempts for establishing the connection. If it exceeds the configured value, and the Route connection errors property is enabled, the messages are routed to the error view with the error information along with the original. When the Route connection errors property is disabled, the Snap displays the number of published messages along with the error information, however, the Snap fails. | |
Connection retry interval Default Value: 10 | Integer | The time taken in seconds to wait before retrying for another connection. | |
Route connection errors Default Value: Deselected | Checkbox | If enabled, the Snap routes the connection errors to the error view displaying the error information along with the original. If disabled, the Snap fails to execute. | |
Snap Execution Default Value: Validate & Execute | Dropdown list | Indicates how the Snap must be executed. Available options are:
|