Amazon SQS Receive Message activity¶
Introduction¶
An Amazon SQS Receive Message activity, using its Amazon SQS connection, listens for and retrieves messages from an Amazon SQS queue and is intended to be used as a source in an operation.
Prerequisites¶
To use the Receive Message activity, you must have the following AWS IAM account permissions:
sqs:GetQueueUrl
sqs:ListQueues
sqs:ReceiveMessage
Cross-account permissions don't apply to this action. For more information, see Basic Examples of Amazon SQS Policies in the Amazon SQS Developer Guide.
These prerequisites must also be met:
-
A private agent version 10.72 or later (for 10.x private agents) or 11.10 or later (for 11.x private agents). For private agent groups that contain multiple agents, the private agent version must be 10.78 or later (for 10.x private agents), or 11.8 or later (for 11.x private agents).
-
To fully benefit from the listening service's load-balancing and fault-tolerance features, it is recommended to have a minimum of two private agents in the agent group.
-
The private agent must have the listening service enabled as described in Enable the listening service on the agent. This is a manual step in configuration and is not enabled by default.
-
Once an operation is deployed, the Integration Studio project must have the listening service enabled at both the operation level and the activity level as described in Enable the listening service on the operation and activity. This is manual step performed at the time of project design or project management.
Create an Amazon SQS Receive Message activity¶
An instance of an Amazon SQS Receive Message activity is created from an Amazon SQS connection using its Receive Message activity type.
To create an instance of an activity, drag the activity type to the design canvas or copy the activity type and paste it on the design canvas. For details, see Create an activity instance in Component reuse.
An existing Amazon SQS Receive Message activity can be edited from these locations:
- The design canvas (see Component actions menu in Design canvas).
- The project pane's Components tab (see Component actions menu in Project pane Components tab).
Configure an Amazon SQS Receive Message activity¶
Follow these steps to configure an Amazon SQS Receive Message activity:
-
Step 1: Enter a name and select a queue
Provide a name for the activity and select a queue. -
Step 2: Review the data schemas
Any request or response schemas are displayed.
Step 1: Enter a name and select a queue¶
In this step, provide a name for the activity and select a queue. Each user interface element of this step is described below.
-
Name: Enter a name to identify the activity. The name must be unique for each Amazon SQS Receive Message activity and must not contain forward slashes
/
or colons:
. -
Select a Queue: This section displays queues available in the Amazon SQS endpoint.
-
Selected Queue: After a queue is selected, it is listed here.
-
Search: Enter any column's value into the search box to filter the list of queues. The search is not case-sensitive. If queues are already displayed within the table, the table results are filtered in real time with each keystroke. To reload queues from the endpoint when searching, enter search criteria and then refresh, as described below.
-
Refresh: Click the refresh icon or the word Refresh to reload queues from the Amazon SQS endpoint. This may be useful if queues have been added to Amazon SQS. This action refreshes all metadata used to build the table of queues displayed in the configuration.
-
Selecting a Queue: Within the table, click anywhere on a row to select a queue. Only one queue can be selected. The information available for each queue is fetched from the Amazon SQS endpoint:
-
Name: The name of the queue.
-
Description: The description of the queue.
-
Tip
If the table does not populate with available queues, the Amazon SQS connection may not be successful. Ensure you are connected by reopening the connection and retesting the credentials.
-
-
Client Acknowledge Mode: Select to prevent retrieved messages from being acknowledged and deleted automatically. When selected, acknowledged messages can be deleted by using the Delete messages activity.
-
Save & Exit: If enabled, click to save the configuration for this step and close the activity configuration.
-
Next: Click to temporarily store the configuration for this step and continue to the next step. The configuration will not be saved until you click the Finished button on the last step.
-
Discard Changes: After making changes, click to close the configuration without saving changes made to any step. A message asks you to confirm that you want to discard changes.
Step 2: Review the data schemas¶
Any request or response schemas are displayed. Each user interface element of this step is described below.
-
Data Schemas: These data schemas are inherited by adjacent transformations and are displayed again during transformation mapping.
The Amazon SQS connector uses the AWS SDK for Java version 1.12.522. Refer to the API documentation for information on the schema nodes and fields.
The response data schema consists of these nodes and fields:
Response Schema Node/Field Description listenerResponse
Node representing the listener response receiptHandlerId
String with the receipt handle associated with the message to delete separately using a Delete Messages activity message
Node representing the messages retrieved messageHeaders
Node representing the message header of the retrieved message JMSCorrelationID
String of the attribute value of the retrieved message (set in the messageAttributes
node in a Send messages activity)JMSDeliveryMode
String indicating whether the retrieved message will be persistent ( 2
) or non-persistent (1
)JMSDestination
String representing the destination of the message JMSExpiration
Integer representing the time in milliseconds to expire the message, with 0
indicating a message will never expireJMSMessageID
Unique identifier for the message JMSPriority
Integer value ranging from 0
through9
indicating the priority of the messageJMSRedelivered
Set to true
if the message is being resent to the consumerJMSReplyTo
The reply destination that is supplied in the JMSReplyTo
header field of the JMS messageJMSTimestamp
The time in milliseconds that the message was sent JMSType
The message type that is supplied in the JMSType
header field of the JMS messagecustomMessageProperties
Node representing the custom message properties item
Node representing the custom properties name
The name of the custom property value
The value of the custom property messageBody
The body of the JMS message -
Refresh: Click the refresh icon or the word Refresh to regenerate schemas from the Amazon SQS endpoint. This action also regenerates a schema in other locations throughout the project where the same schema is referenced, such as in an adjacent transformation.
-
Back: Click to temporarily store the configuration for this step and return to the previous step.
-
Finished: Click to save the configuration for all steps and close the activity configuration.
-
Discard Changes: After making changes, click to close the configuration without saving changes made to any step. A message asks you to confirm that you want to discard changes.
Next steps¶
After configuring an Amazon SQS Receive Message activity, complete the configuration of the operation by adding and configuring other activities, transformations, or scripts as operation steps. You can also configure the operation settings, which include the ability to chain operations together that are in the same or different workflows.
Menu actions for an activity are accessible from the project pane and the design canvas. For details, see Activity actions menu in Connector basics.
Amazon SQS Receive Message activities can be used as a source with these operation patterns:
- Transformation pattern
- Two-target archive pattern (as the first source only)
- Two-target HTTP archive pattern (as the first source only)
- Two-transformation pattern (as the first source only)
To use the activity with scripting functions, write the data to a temporary location and then use that temporary location in the scripting function.
Deploy the operation and enable events¶
Once the operation is configured, deploy it. Deploying the operation activates a toggle that is present at the bottom of the operation on the design canvas. By default, event listening is disabled.
To enable event listening for the operation, click the toggle:
When event listening is enabled, the operation will run when it is triggered by the configured event.
Note
Activities that listen to the same event in multiple operations or multiple projects will track those events separately and consume a message in each configured activity. That is, each operation configured with an enabled event will run when the event occurs.
After the operation triggers, you can validate behavior by checking the operation logs. A log entry is made for every message processed by the listening operation.
Administrators can also enable or disable event listening from the Management Console Projects page.