Skip to content

Instantly share code, notes, and snippets.

@rafaelhenrique
Last active September 2, 2021 04:54
Show Gist options
  • Save rafaelhenrique/e73453ae56aa6d3c8a74b06445c6752d to your computer and use it in GitHub Desktop.
Save rafaelhenrique/e73453ae56aa6d3c8a74b06445c6752d to your computer and use it in GitHub Desktop.
Download messages from SQS Queue
import json
import boto3
# Get the service resource
sqs = boto3.resource(
'sqs',
aws_access_key_id='your_key',
aws_secret_access_key='your_access_key',
region_name='your_aws_region'
)
# Get the queue
queue = sqs.get_queue_by_name(QueueName='queue_name')
all_messages = []
message_count = 0
# Total messages on queue
messages_quantity = 5
while messages_quantity > message_count:
for message in queue.receive_messages(MaxNumberOfMessages=10):
body = json.loads(message.body)
all_messages.append(body)
message_count += 1
if message_count > messages_quantity:
break
# Save messages downloaded to ./messages directory
for message in all_messages:
filename = './messages/{}.json'.format(message['MessageId'])
with open(filename, 'w') as fp:
fp.write(json.dumps(message, sort_keys=True, indent=4, ensure_ascii=False))
print('Downloaded {} messages.'.format(len(all_messages)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment