AWS SQS Workbench - A Simple & Non-Technical Tool To Interact With AWS SQS
Tags: aws, cloud, beginners, serverless
Published: 2021-09-06 07:33:00

AWS offers several methods for accessing its services. These services can be accessed via CLI, SDK, and console. If you are a technical (i.e developer), CLI and SDK are most likely your most frequently used approaches. When it comes to a newcomer, or someone who is not overly technical, using a console is preferable. However, this has its own disadvantages. To do any work, you must log in on a regular basis. Which can be annoying if all you are trying to do is access a single service such as SQS.

To help with this matter, I developed a Windows-based AWS SQS workbench that allows anyone to use SQS without having to know the CLI/SDK or going to the console on a regular basis. This is a great tool for QA testers/BA/Novice who wish to test putting or viewing messages in a queue. This tool is also useful for someone who isn't extremely technical yet wants to access SQS services. Especially if you're working on a Windows computer. 

**Note:** It can be used by both technical and non-technical people. It was, however, created with non-technical users in mind. 

Rest of the post will walk you through how to use AWS SQS Workbench.

## Download
The AWS SQS workbench executable can be found at [this link](https://github.com/hseera/aws-python-utilities/blob/main/sqs_workbench.zip). When you start the **sqs workbench** exe after unzipping, you will be presented with the Config screen.
![alt text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kv3pxtjg78ptaxxlq40c.png)
  

## Workbench Configuration
In the workbench, you have two options for connecting to AWS services using credentials. The first step is to enter credentials on the configuration tab. Another option is to keep your credentials in the following location on your Windows PC.

`/Users/[username]/.aws`

_Example:_
![alt text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/69jrs5337x8ym9mzrp2q.png)
 
 
For the article, we'll enter our credentials into the text box and connect. 
![alt text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z8btkn71f0l9ksgcs91k.png)
 
Once the connection has been established, select the SQS tab. This is where all of the magic takes place. The following are the various components that comprise the SQS screen. 
![alt text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fa3suo8b9reqkuz9uwm3.png)

# 1. Region Name
The region name displays a list of all accessible AWS regions throughout the world. Click the **"List Regions"** button to see the list.
![alt text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uxdluo9nacpkiwewtktv.png)

# 2. Queue List
The queue list displays all available queues in that region to which you have access. If the region does not have a queue, a message will be displayed on the console. To view the queues, select the region from the region list and then click **"List Queues"**. 
![alt text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wc7p2a8xzz4ktc6uzsyu.png)

# 3. Messages In The Queue
Click on the queue name in the list to see how many messages are in the queue, not visible, or delayed. 
![alt text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0l591swe28xoov2fq47m.png)
 
# 4. Send Message
You can send or view SQS messages in the current version of the workbench. Once you have selected the queue, you have two options for sending a message.

1. You can type the payload into the provided textbox section.
2. Open a file and load the payload. Use the **Browse** button to locate the file containing the payload and the **Load** button to display it on the screen.
![alt text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l0kk6dg6460oxydw17nt.png)

# 5. Send Once OR Multiple Sends
Again, you have two options for how many messages to send to the queue.
1. Use the **"Send Once"** option if you only want to send one message to the queue.
2. If you want to send numerous messages to the Queue, select **"Send Multi Msgs"**. Enter the number of messages to send in the **"# of Msg To Send"** field and the delay between each message in the **"Delay Btw Msgs (sec)"** field for this option. 
![alt text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eje89861fiio0dg0oi8j.png)
When sending or receiving messages, the console screen displays the time it took. This is useful if you want to examine the performance of putting and viewing messages. 

# 6. Receive/View Message
To view a message in the queue, choose the queue name and click the **"Receive Msg"** button. It will display the message's payload. 
![alt text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0kk1xztyssz063sn3qam.png)

# 7. Console
The console screen contains all errors, responses, and logs. The Workbench's **"Save Output"** option allows you to save console data for further analysis. To clear the console message, use **"Clear Output"**. In the current version, the output is saved in the same folder as the executable. "output.txt" is the name of the output file.
![alt text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f07kyynzzyx629mxbrhx.png)

That's all there is to it when it comes to using the workbench. Hopefully, SQS workbench will come in handy to you in the aforementioned case.

Keep an eye out for updates as I add new features and improvements. If you find a bug in the workbench, please post a [bug report](https://github.com/hseera/aws-python-utilities/issues) so I can fix and further improve it. 

_If you want to help with the code, please contact me. Also, if you find it useful, **please leave a comment or a star on the github repo**. Alternatively, **share it on your social channels** so that anyone who may require it is aware of the existence of sqs workbench._

------------------------------------------------------------------

Thanks for reading!

If you enjoyed this article feel free to share it on social media 🙂

Say Hello on: [Linkedin](https://www.linkedin.com/in/harinderseera/) | [Twitter](https://twitter.com/harinderseera) | [Polywork](https://www.polywork.com/harinderseera) 

Blogging: [Dev](https://dev.to/harinderseera) | [Hashnode](https://harinderseera.hashnode.dev/)

Github: [hseera](https://github.com/hseera)