Skip to Content

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 Cloud 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:

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

In this step, provide a name for the activity and select a queue. Each user interface element of this step is described below.

Amazon SQS Receive Message Configuration Step 1

  • 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 part of the queue name 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 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.

Amazon SQS Receive Message Configuration Step 2

  • 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 expire
    JMSMessageID Unique identifier for the message
    JMSPriority Integer value ranging from 0 through 9 indicating the priority of the message
    JMSRedelivered Set to true if the message is being resent to the consumer
    JMSReplyTo The reply destination that is supplied in the JMSReplyTo header field of the JMS message
    JMSTimestamp The time in milliseconds that the message was sent
    JMSType The message type that is supplied in the JMSType header field of the JMS message
    customMessageProperties 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 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:

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:

consume topic activity events enabled

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.