Amazon SQS - Receive message

Declaration

<AMAWSSQS ACTIVITY="receive_message" PROVIDER="session_based" SESSION="text" ACCESSKEY="text" SECRETKEY="text (encrypted)" USERAGENT="text" MAXERRORRETRY="number" SERVICEURL="text" PROXYHOST="text" PROXYPORT="number" PROXYUSER="text" PROXYPWD="text (encrypted)" SIGNMETHOD="text" SIGNVERSION="number" QUEUEURL="text" MAXMSG="number" TIMEOUT="number" ATTR="text (options)" RESULTDATASET="text"   />

Related Topics   

Description

Retrieves one or more messages from the specified queue. For each message returned, the response includes message body, MD5 digest of the message body, message ID you received when you sent the message to the queue and receipt handle.

IMPORTANT: Automate's SQS activities use Amazon's SQS engine to perform their work, therefore, launching and operating Amazon SQS through Automate requires a valid Access Key ID and Secret Access Key.

Practical Usage

Used to retrieve one or more queue messages along with other message attributes such as the message ID, MD5 of the body, receipt handle, etc.

Parameters

Connection

Property Type Required Default Markup Description
Connection --- --- --- --- Indicates where AWS user credentials and preferences should originate from. This is a design mode parameter used only during task construction and configuration, thus, comprises no markup. The available options are:
  • Host (default) - Specifies that user credentials and/or advanced preferences are configured individually for this activity. This option is normally chosen if only a single activity is required to complete an operation.
  • Session - Specifies that user credentials and/or advanced preferences are obtained from a pre-configured session created in an earlier step with the use of the Amazon SQS - Create session activity. This option is normally chosen if a combination of related activities are required to complete an operation. Linking several activities to a single session eliminates redundancy. Additionally, a single task supports construction and simultaneous execution of multiple sessions, improving efficiency.
Session Text Yes, if Connection is set to Session SQSSession1 SESSION="SQSession1" The name of an existing session to attach this activity to. This parameter is active only if the Connection parameter is set to Session. The default session name is 'SQSSession1'.
Access key Text Yes, if Connection is set to Host (Empty) ACCESSKEY="022QF06E7MXBSH9DHM02" A 20-character alphanumeric string that uniquely identifies the owner of the AWS service account, similar to a username. This key along with a corresponding secret access key forms a secure information set that AWS uses to confirm a valid user's identity. This parameter is active only if the Connection parameter is set to Host.
Secret access key Text Yes, if Connection is set to Host (Empty) SECRETKEY="kWcrlUX5JEDGM/LtmEENI/aVmYvHNif5zB+d9+ct" A 40-character string that serves the role as password to access the AWS service account. This along with an associated access key forms a secure information set that SQS uses to confirm a valid user's identity. This parameter is active only if the Connection parameter is set to Host.
User agent Text No Automate USERAGENT="Automate" The name of the client or application initiating requests to AWS, which in this case, is Automate. This parameter's default value is 'Automate'. 
Service URL Text No (Empty) SERVICEURL="https://sqs.eu-west-1.amazonaws.com" The URL that provides the service endpoint. To make the service call to a different region, you can pass the region-specific endpoint URL. For example, entering https://sqs.us-west-1.amazonaws.com points to US West (Northern California) region. A complete list of SQS regions, along with their associated endpoints and valid protocols can be found below under SQS Endpoints and Regions.
Maximum number of retries on error Number No (Empty) MAXERRORRETRY="4" The total amount of times this activity should retry its request to the server before returning an error. Network components can generate errors anytime in the life of a request, thus, implementing retries can increase reliability. 
Proxy host Text No (Empty) PROXYHOST="proxy.host.com" The host name (for example, server.domain.com) or IP address (for example, xxx.xxx.xxx.xxx) of the proxy server to use when connecting to AWS.  
Proxy port Number No (Empty) PROXYPORT="1028" The port that should be used to connect to the proxy server.
Proxy username Text No (Empty) PROXYUSER="username" The username that should be used to authenticate connection with the proxy server (if required).
Proxy password Text No (Empty) PROXYPWD="encrypted" The password that should be used to authenticate connection with the proxy server (if required).
Signature method Text No (Empty) SIGNMETHOD="HmacSHA256" The signature method to use for signing the request. This provides a valid hashing algorithm for signature calculation. Acceptable AWS signature methods are HmacSHA1 and HmacSHA256.
Signature version Number No (Empty) SIGNVERSION="2" The signature version for signing the request. Valid AWS signature versions are 2 and 4. The difference with version 4 is that it allows you to sign your message using a key that is derived from your secret access key rather than using the secret access key itself.

Queue

Property Type Required Default Markup Description
Queue URL Text Yes (Empty) QUEUEURL="https://queue.amazonaws.com/QueueID" The URL uniquely identifying the queue in which to get a queue attribute from.
Max number of messages (between 1-10) Number Yes (Empty) MAXMSG="2" Maximum number of messages to return.
Visibility timeout (seconds) Number No (Empty) TIMEOUT="1260" The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by an initial Receive Message request.
Attribute(s) Text (options) Yes All
  • ATTR="all"
  • ATTR="numberof_messages"
  • ATTR="messages_not_visible"
  • ATTR="visibility_timeout"
  • ATTR="last_modified"
  • ATTR="policy"
The attribute name to get information about. The available options are:
  • All (default) - Returns all values.
  • Approximate number of messages - Returns the approximate number of visible messages in a queue.
  • Approximate number of messages not visible - Returns the approximate number of messages that are not timed-out and not deleted.
  • Visibility timeout - Returns the visibility timeout for the queue.
  • Last modified timestamp - Returns the time when the queue was last changed (in seconds).
  • Policy - Returns the queue's policy.
Create and populate dataset with queue information Text No (Empty) RESULTDATASET="theDataset" The name of the dataset to create and populate with SQS message information being received. More details regarding datasets can be found below under Datasets.

Description

Error Causes

On Error

Additional Notes

SQS Endpoints and Regions

This table contains a complete list of Amazon Simple Queue Service endpoints, along with their corresponding regions and supported protocols.

Endpoint Region Protocol
sqs.us-east-1.amazonaws.com US East (Northern Virginia) Region HTTP and HTTPS
sqs.us-west-2.amazonaws.com US West (Oregon) Region HTTP and HTTPS
sqs.us-west-1.amazonaws.com US West (Northern California) Region HTTP and HTTPS
sqs.eu-west-1.amazonaws.com EU (Ireland) Region HTTP and HTTPS
sqs.ap-southeast-1.amazonaws.com Asia Pacific (Singapore) Region HTTP and HTTPS
sqs.ap-southeast-2.amazonaws.com Asia Pacific (Sydney) Region HTTP and HTTPS
sqs.ap-northeast-1.amazonaws.com Asia Pacific (Tokyo) Region HTTP and HTTPS
sqs.sa-east-1.amazonaws.com South America (Sao Paulo) Region HTTP and HTTPS

Datasets

A dataset is a multiple column, multiple row container object. This activity creates and populates a dataset containing a specific set of fields in addition to the standard dataset fields. The table below describes these fields (assuming the name of the created and assigned dataset is "theDataset").

Name Type Return Value
theDataset.Body Text The message's contents.
theDataset.MD5OfBody Text An MD5 digest of the non-URL-encoded message body string (for example, 1c531e2d189cdcb9ec81ef36f4c22d85).
theDataset.ReceiptHandle Text A string associated with a specific instance of receiving the message.
theDataset.MessageID Text The message's SQS-assigned ID (for example, e07cab7e-aa08-469b-aa53-73978906e0bd).
theDataset.Attribute Text Returns the Sender Id, sent timestamp, approximate receive count, and/or approximate first receive timestamp. The sent timestamp and approximate first receive timestamp are each returned as an integer representing the epoch time in milliseconds.

Example

NOTE:
  • The sample AML code below can be copied and pasted directly into the Steps Panel of the Task Builder.
  • Parameters containing user credentials, files, file paths, and/or other information specific to the task must be customized before the sample code can run successfully.

Description

This sample task receive a message from a queue.

Copy
<AMAWSSQS ACTIVITY="receive_message" PROVIDER="session_based" SESSION="SQSSession1" QUEUEURL="&quot;https://queue.amazonaws.com/QueueID&quot;" MAXMSG="2" TIMEOUT="1260" RESULTDATASET="theDataset" />