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
Post a Comment