AWS - SQS Demo Python

 

Short demo on how to use Python to create a AWS SQS producer and consumer.

All we need is a SQS queue and keep the SQS URL ready. I am using boto3 library to call SQS.

# SQS producer code
# Code generates random greeting message
# We will feed random generates messages to SQS
# Message will generated for every 10sec

import random;
import boto3;
import time;

from Sitecheck import response

# Initialize boto3 SQS client
sqs = boto3.client('sqs');
# URL for the SQS
queue = 'https://sqs.us-east-1.amazonaws.com/851725408580/demo-sqs';

# Producer Code

def generate_welcome_message():
greetings = ["Hello", "Hi", "Welcome", "Howdy", "Greetings"]
compliments = ["nice to see you", "great to have you here", "welcome aboard"]
greeting = random.choice(greetings)
compliment = random.choice(compliments)
message_to_send = (greeting + " " + compliment);
data = sqs.send_message(QueueUrl=queue, MessageBody=message_to_send);
print(f'{message_to_send} - has been successfully send');

# Consumer code
def receive_welcome_message():
response = sqs.receive_message(QueueUrl=queue, MaxNumberOfMessages=10);
for message in response['Messages']:
print(f"Received Message: {message['Body']}");
receipt_handle = message['ReceiptHandle'];
# To delete a message we need message receipt handle
time.sleep(30);
delete_message(
receipt_handle);

# Delete message
def delete_message(receipt_handle):
sqs.
delete_message(QueueUrl=queue, ReceiptHandle=receipt_handle);
print("Message delete from queue.")

generate_welcome_message();
receive_welcome_message();

Steps:

1) We generate a message.

2) Read the message.

3) Delete the message.



After the message deleted from queue.



Comments

Popular posts from this blog

SRE/DevOps Syllabus

AWS Code Commit - CI/CD Series Part 1

Docker - Preventing IP overlapping