Understand of the AWS SQS visibility timeout
In my AWS infrastructure, I have an SQS queue and a Lambda function. The SQS queue has a visiblity timeout setting of 0, and no delivery delay, and a receiveMessageWaitTime of 0. The SQS queue has a DLQ with a max receive count of 2. The Lambda function is consuming from the SQS queue using the AWS SDK’s SQS client. There is only one instance of this lambda running, so it’s concurrency is never greater than 1. My most basic train of thought is that if there are 4 messages in the SQS queue, the following steps will happen in order:
AWS Lambda stops handling SQS queue triggers
I have an SQS queue and a lambda as event source mapping for that queue. The lambda’s job is to parse some data from an S3 file in batches of 100. There are 10000+ entries in this file.
MissingAction error when calling sqs send-message through the CLI
This command was previously working but has suddenly started returning a MissingAction error. Does anyone know what is causing this?
Cannot find newly created AWS SQS Queues due to pagination
When creating new AWS SQS queues in an account with too many existing queues, I find that the newly created queues can’t be found in both the AWS console and via the CLI list-queues command. I believe this issue is related to how AWS handles pagination. This issue also affects selecting queues in the Lambda UI, such as when assigning a DLQ.
How to deal with SQS messages older than the max visibility timeout (12 hours)?
I have a dead-letter queue where a bunch of the messages that got sent there are now older than the maximum visibility timeout (12 hours). I can’t seem to delete them from the console or using boto3. Is there any way to delete these messages individually or do I have to purge the whole queue?