SQS Message Retrieval (File Based)
20 May 2021, Posted by All Posts, Computer Talk inFirst, thank you to Tamás Sallai for getting me on the right track. I originally started building this script with “for msg in `aws sqs receive-message –queue-url $QUEUE_URL –max-number-of-messages 10`” but then came across his post. For those struggling with this right now hope it helps.
#!/bin/bash
#script runs on amazon linux os
#script requires IAM user and zone to be configured (aws configure)
#script requires jq (JSON processor) to be installed
#set queue url
QUEUE_URL=”https://”
#polls every second upon completion of the loop
while sleep 1
do
MSG=$(aws sqs receive-message –queue-url $QUEUE_URL –max-number-of-messages 5)
echo “$MSG” | jq -r ‘.Messages[] | .ReceiptHandle’ | (xargs -I {} aws sqs delete-message –queue-url $QUEUE_URL –receipt-handle {})
echo “$MSG” | jq -r ‘.Messages[] | .Body’ >> sqs_`date +%s`.json
done