SQS Producer
Overview
This Snap sends messages to the Amazon Simple Queue Service (SQS) for consumption. The Snap supports standard queues as well as FIFO queues. Multiple messages can be sent using the Snap by batching as well as by client-side buffering.
- Extract Binary data (including header) from the upstream Snap containing the message to be sent to the queue.
- Transform the input Binary into the message to be sent.
- Load the data into the Producer Snap and send the message to the target
queue.
Write-type Snap
Works in Ultra Tasks
Prerequisites
- Valid AWS account
- Access Key and Secret Key
- IAM Role access
Known issues
The Snap conforms to the limits within SQS. Hence, the following must be kept in mind when configuring the Snap:
- The maximum allowed size for the message, including message attributes, is 256KB. For a workaround to overcome this please refer to Messages larger than 256 KB
- The maximum number of inflight messages per queue are:
- Standard queue - 120,000 inflight messages per queue.
- FIFO queue - 20,000 inflight messages per queue.
- The queue name for a FIFO queue can be a maximum of 80 characters long, including the ".fifo" suffix.
- Queue names are case-sensitive.
For more information on message-related limits refer to Message-limits
Snap views
View | Description | Examples of upstream and downstream Snaps |
---|---|---|
Input | This Snap has exactly one document input view. The input includes binary data containing the message to be sent to the queue. |
|
Output | This Snap has at most one document output view. The output contains the ID of the message. |
|
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 when running the pipeline by choosing one of the following options from the When errors occur list under the Views tab. The available options are:
Learn more about Error handling in Pipelines. |
Snap settings
- Expression icon (
): Allows using pipeline parameters to set field values dynamically (if enabled). SnapLogic Expressions are not supported. If disabled, you can provide a static value.
- SnapGPT (
): Generates SnapLogic Expressions based on natural language using SnapGPT. Learn more.
- Suggestion icon (
): Populates a list of values dynamically based on your Snap configuration. You can select only one attribute at a time using the icon. Type into the field if it supports a comma-separated list of values.
- Upload
: Uploads files. Learn more.
Field / Field set | Type | Description |
---|---|---|
Label | String | Required. Specify a unique name for the Snap. Modify this to be more appropriate, especially if more than one of the same Snaps is in the pipeline. Default value: SQS Producer Example: SQS Producer |
Region | String/Expression/ Suggestion | Specify the AWS region where the application is running. This is a suggestible
field and suggestions will be populated based on the Account settings. Important:
FIFO Queues - Regions FIFO Queue is available only in US East (N. Virginia), US East (Ohio), US West (Oregon), and EU (Ireland) regions. Default: None Example: us-east-1 |
Queue name | String/Expression/ Suggestion | Specify the name of the target queue. This is a suggestible field and
suggestions will be populated based on the region selected. Important:
FIFO Queues - Queue name When using FIFO queues, it is important that the queue name be suffixed with ".fifo". The maximum character limit for the queue name is 80 characters (including the ".fifo" suffix. Default value: None. Example: snapqatest |
Queue URL | String/Expression | Conditional. Specify the URL for the Queue, this can be found through
the AWS console under the Details section. When this property is
configured, the queue specified in The URL must be in this format: Default value: None. Example:https://sqs.amazonnaws.com
|
Maximum retries | Integer/Expression | Specify the maximum number of retries to be made in case of connection
failures. Important:
Default value: 3 Example: 2 |
Delay Second | Integer/Expression | Specify the time duration in seconds for which the message is visible to
consumers after being added to the queue. Important: This property is
not applicable to FIFO queues. Default value: 0 Example: 1 |
Message group ID | Integer/Expression | Appears when you select a FIFO queue.
Specify a tag which indicates the messages group the message is associated with. The field is used and required by FIFO queue. For more information refer to FIFO Queue Recommendations - Message Group Id Default value: None. Example: 5 |
Deduplication ID | Integer/Expression | Appears when you select a FIFO queue. Specify the token used for de-duplication of sent messages in FIFO queue. The property is used by FIFO queue only. For more information refer to Recommendations - Deduplicate Id. Default value: None. Example: 2 |
Message attributes | Specify the table of the message attributes.
Message attributes are structured metadata for the message to help the consumer
identify how to deal with the message without having to read the message body. Each
message can have up to 10 attributes. The value type is string. Value: Specify the value for the message attribute. By default this field is expression enabled. Example: snap.instanceId |
|
Name |
Specify the name for the message attribute. By default this field is expression enabled. Default: None Example: snap-runtime |
|
Value |
Specify the value for the message attribute. By default this field is expression enabled. Default: None Example: snap.instanceId |
|
Batch size | Integer/Expression | Specify the number of Documents the Snap should batch before processing. The
maximum number is 10. This is ignored if client-side buffering is enabled. Default value: 10 Example: 5 |
Client-side buffering | Checkbox | Select this checkbox to enable the Snap to automatically buffer a maximum 10
outbound requests (or less as configured in the Max buffer size property) and
send them as a batch and allow message pre-fetching when consuming. The subsequent
properties need to be configured if this property is enabled. Important: This property is not applicable to FIFO queues. Default status: Deselected |
Buffer configurations | Appears when you select the Client-side
buffering checkbox Configure the settings for the client-side buffer. |
|
Max buffer size | Integer/Expression | Specify the maximum number of messages that are batched together in a single
request. The higher the max buffer size, the fewer batches are required to carry out
the same number of requests. The maximum batch size is 10. Important: This property is not applicable to FIFO queues. Default value: 10 Example: 4 |
Max buffer open time (ms) | Integer/Expression | Specify the maximum time in millisecond the buffer would wait before sending
message batches. Default value: 200 Example: 200 |
Max outbound batches in parallel | Integer/Expression | Specify the maximum number of concurrent batches for each type of outbound
request. The greater the number, greater the throughput that can be achieved (at the
expense of consuming more threads). Default value: 5 Example: 3 |
Snap execution | Dropdown list |
Choose one of the three modes in
which the Snap executes. Available options are:
Default value: Execute only Default value: Validate & Execute |