...
...
...
...
...
On this Page
Table of Contents | ||||
---|---|---|---|---|
|
...
Snap type:
Write
...
Description:
...
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 |
...
. |
...
- Access to the RabbitMQ Server.
- Privileges to perform various actions on the Queues such as receive and send messages.
...
This Snap uses account references created on the Accounts page of SnapLogic Manager to handle access to this endpoint. See Configuring RabbitMQ Accounts for information on setting up this type of account.
...
Input | This Snap has exactly one binary input view where it gets the binary data as a message to be written to the RabbitMQ destination queue. |
---|---|
Output | This Snap has at most one document output view. |
Error | This Snap has at most one document error view and produces zero or more documents in the view. |
...
Settings
Label
...
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
Info |
---|
|
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. |
Exchange
...
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. |
...
the queue is bound to the exchange with the specified routing key, and only |
...
messages with the specified routing key are pushed to the queue. |
Example: Queue1
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.
|
...
|
...
| |
x-match | Dropdown list |
...
Specify the x-match value to be submitted for binding. The available options are:
Default value: all
| ||
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 |
...
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. |
...
Only one property can be specified in each row. Click to add a new row in this table and specify the values accordingly.
...
This fieldset comprises the following fields:
|
...
Key | String/Expression | Specify the name of the message property. The message properties that can be added are:
|
...
Refer this link for the additional information:
https://www.rabbitmq.com/amqp-0-9-1-reference.html#class.basic
...
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. |
...
...
in RabbitMQ documentation for more information. Default value: N/A |
...
|
Default value: None.
|
...
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 |
...
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.
...
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
...
Expand | |
---|---|
|
...
|
...
The Maximum connection attempts is set to a default 3, which means the Snap attempts three times before publishing the messages. If it exceeds the configured value, the Snap fails to execute.
The output preview from the successful execution of the pipeline:
The Route connection errors property is selected and hence the unprocessed messages with details are sent to the error view along with the original.
If the Route connections errors property is disabled, the Snap fails to execute:
...
title | RabbitMQ Producer Snap with retry attempts |
---|
In this pipeline, there are ten messages sent to the RabbitMQ Producer Snap.
The Sequence and the Constant Snaps set to pass the messages to the Queue respectively.
In the RabbitMQ Producer Snap, the messages are produced from the Queue1 of Exchange1. The Maximum requests attempts has been set to 3 and the the Retry request interval has been configured to 180 seconds. This means, the Snap attempts three times to get the messages from the queue with a retry interval of 180 seconds (in case of a network outage).
The Successful execution of the pipeline displays the below output preview:
...
| |
In this pipeline, the RabbitMQ Producer Snap produces the messages and submits them to the RabbitMQ server. |
...
The RabbitMQ Producer Snap |
...
produces the messages and |
...
submits them to the selected exchange (as set in the properties) for routing to the designated queues, depending upon the configured bindings. Note that the Producer creates the Exchange and Queue if they are not available in the RabitMQ server |
...
and binds them based on the properties configured, such as Routing key, Headerproperties,and x-match |
...
before it starts producing and submitting the messages to the server. |
...
Successful execution of the pipeline displays the message properties in the output preview: |
...
Snap Pack History
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|