RabbitMQ Consumer
In this article
Overview
You can use this Snap to fetch messages from a RabbitMQ destination.
Snap Type
RabbitMQ Consumer 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 | Field Dependency | Description | |
---|---|---|---|---|
Label* Default Value: RabbitMQ Consumer | String | None | Specify a unique name for the Snap. | |
Exchange Default Value: N/A | String/Expression | None | 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 | None | The type of RabbitMQ exchange used to push messages. Available options are:
| |
Durable Exchange Default Value: Selected | Checkbox | None | Select this checkbox to enable the exchange to be durable.
| |
Queue Default Value: N/A | String/Expression | None | 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 | None | Select this check box to indicate that the RabbitMQ autoDelete property associated with the existing queue is set to
| |
Routing Key Default Value: N/A | String/Expression | None | Specify the routing key to be used for binding the queue with the exchange. | |
Processing Mode Default Value: Synchronous | Dropdown list | None | 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. 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 | None | Select one of the following modes of message acknowledgement for non-transacted sessions:
| |
Acknowledge type Default value: Acknowledge Message | Dropdown list | Appears on selecting Auto_Acknowledgment from the Message Acknowledge Mode dropdown list. | Select one of the following acknowledge types for the message.
| |
x-match
Default Value: all | Dropdown list | None | Specify the x-match value to be submitted for binding. The available options are:
| |
Header properties
| Use this fieldset to define header properties to bind the queue with an exchange as arguments. | |||
Header key
Default Value: N/A | String/Expression | None | Specify the name of the header that is being used for the binding. | |
Header value Default Value: N/A | String/Expression | None | 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 | None | Specify the name of the argument used for declaration. Learn more about Optional Arguments in RabbitMQ documentation.
|
Argument value Default value: N/A | String/Expression | None | Specify the value corresponding to the argument key. | |
Message Count Default value: -1 | Integer/Expression | None | 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.
| |
Maximum connection attempts
Default Value: 3 | Integer | None | Specify 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 | None | Specify the time taken in seconds to wait before retrying for another connection. | |
Route connection errors
Default Value: Deselected | Checkbox | None | Select this checkbox to route the connection errors to the error view, which displays the error information along with the original input. If the RabbitMQ connection fails or the Snap fails to publish the messages, the documents that have not been processed yet will be routed to the error view. When you deselect the checkbox, the Snap fails to execute. If the RabbitMQ connection fails or the Snap fails to publish the messages, the Snap displays an exception, and the pipeline execution stops. | |
Snap Execution
Default Value: Validate & Execute | Dropdown list | None | Indicates how the Snap must be executed. Available options are:
|
Examples
Snap Pack History
Have feedback? Email documentation@snaplogic.com | Ask a question in the SnapLogic Community
© 2017-2024 SnapLogic, Inc.