AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |
Back to Blog
Aws sqs queue url9/17/2023 Both approaches require manual work and more importantly require your lambda to be aware of its own exception, catch all exceptions, do some SQS stuff and then rethrow the exception - this is guaranteed to go wrong in some way. In this case, the response contains lists of messages, so you can retry failures if needed. You might be able to change the visibility timeout of the one message manually right before your lambda actually throws the exception (see ChangeMessageVisibility) or you could delete the message and manually send it to the DLQ (very bad idea / practise). For example, sending the two messages described above in a single request would look like the following: 'MessageBody''StringValue'. And it is also not clear to SQS if anything actually failed, maybe the consumer simply took too long to process the message, SQS does not care.Īnd no, you cannot reasonably change that behaviour. For more information, see AWS service endpoints. In addition to the standard AWS endpoints, some AWS services offer FIPS endpoints in selected Regions. To connect programmatically to an AWS service, you use an endpoint. And therefore SQS cannot take any actions when the consumers fail because SQS simply does not know what a consumer failing looks like. PDF The following are the service endpoints and service quotas for this service. It is also integrated with the AWS SDKs, allowing you to work in the programming language of your choice. Amazon SQS also provides a web services API. retry internally, always delete the message at the last possible second, never delete a message, delete the message before actually working on it, etc. You can access Amazon SQS using the AWS Management Console, which helps you create Amazon SQS queues and send messages easily. SQS does not know or care how its consumers handle the message, if they e.g. Only after the visibility timeout expires can SQS consider the message processing to have failed and only then can it put the message into the DLQ. SQS does not know about your lambda (or any other processing for that matter) failing or throwing an exception. "My understanding was that if an exception was thrown in my lamdba that it would send it to the DLQ immediately" - No.
0 Comments
Read More
Leave a Reply. |