Nexial Automation

Test Automation Platform for everyone!

X

aws.sqs

SQS, or Simple Queue Service, is a cloud service provided by Amazon AWS. One can utilize such service to send, receive and delete messages from a provisioned SQS queue. Currently Nexial supports the use of SQS for sending, receiving and deleting messages. Future version of Nexial could extend towards manage of queues.

Connection Setup

Similar to other command collections in Nexial, the commands of this command type utilize a profile-based approach to connect to the target AWS services. A profile is a collection of data variables that share the same prefix. In this case, below are the data variables that make up an AWS connectivity profile:

data variable value note
<profile>.aws.accessKey The access key valid for the target AWS service For more information, consult AWS online documentation
<profile>.aws.secretKey The secret key valid for the target AWS service More information available on AWS online documentation
<profile>.aws.region The target region to connect to Available AWS regions. Scroll down to the relevant service section
<profile>.aws.url The URL of the service (Required only when not using AWS, eg. minio, localstack, etc)  
<profile>.aws.assumeRoleArn (OPTIONAL) The ARN that represents the role to assume Only required if “assume role” is desired.
<profile>.aws.assumeRoleSession (OPTIONAL) The session name that represents the temporarily role Specify a session name that can be useful for tracking temp. role activities.
<profile>.aws.assumeRoleDuration (OPTIONAL) The duration of the role temporarily switched Specify the duration of the role switching.


Note that if “assume role” is desired, <profile>.aws.assumeRoleSession is required.

In addition, the following connection configuration should be considered as well when working with receiving messages:

data variable value note
<profile>.aws.waitTimeMs A period of time, in milliseconds, to wait on arrival of messages before giving up See Amazon SQS Long Polling for more details. The detail is 20000 (20 seconds).
<profile>.aws.visibilityTimeoutMs A period of time, in milliseconds, during which SQS prevents other consumers from receiving and processing the same message received See Amazon SQS Visibility Timeout for more details. The default value is 30000 (30 seconds).


For example, suppose we have a “profile” named as MyProfile:
profile

Shown above, MyProfile will be used as a “profile” throughout the “aws.sqs” commands for SQS-related automation.

NOTE:

  1. Consider using nexial-crypt to encrypt your access key and secret key information.
  2. It is possible to create multiple profiles and use them selectively during execution.

The “aws.sqs” command type represents a series of commands regarding AWS SQS.

Available Commands