-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathboto-SQS.py
59 lines (46 loc) · 1.74 KB
/
boto-SQS.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#### SQS producer #####
import boto3
# Replace 'your-queue-url' with your actual SQS queue URL
sqs_queue_url = 'https://sqs.us-east-1.amazonaws.com/your-account-id/your-queue-name'
def lambda_handler(event, context):
# Initialize the SQS client
sqs = boto3.client('sqs')
# Send a message to the SQS queue
message_body = "Hello, SQS!"
response = sqs.send_message(
QueueUrl=sqs_queue_url,
MessageBody=message_body
)
# Log the message ID for reference
print(f"Message sent with ID: {response['MessageId']}")
return {
'statusCode': 200,
'body': 'Message sent to SQS successfully.'
}
#### SQS consumer ####import boto3
# Replace 'your-queue-url' with your actual SQS queue URL
sqs_queue_url = 'https://sqs.us-east-1.amazonaws.com/your-account-id/your-queue-name'
def lambda_handler(event, context):
# Initialize the SQS client
sqs = boto3.client('sqs')
# Receive messages from the SQS queue
response = sqs.receive_message(
QueueUrl=sqs_queue_url,
MaxNumberOfMessages=1, # Adjust as needed
WaitTimeSeconds=20 # Adjust as needed
)
# Check if there are messages in the response
if 'Messages' in response:
for message in response['Messages']:
# Process the message
message_body = message['Body']
print(f"Received message: {message_body}")
# Delete the message from the queue to prevent reprocessing
receipt_handle = message['ReceiptHandle']
sqs.delete_message(QueueUrl=sqs_queue_url, ReceiptHandle=receipt_handle)
else:
print("No messages in the queue")
return {
'statusCode': 200,
'body': 'SQS messages consumed successfully.'
}