Pourquoi mes messages Amazon SQS sont-ils envoyés de manière inattendue à une DLQ ?
Lecture de 2 minute(s)
0
J'ai configuré une file d'attente de lettres mortes (DLQ) Amazon Simple Queue Service (Amazon SQS). Mes messages Amazon SQS ont été déplacés de manière inattendue vers la DLQ, et je souhaite comprendre pourquoi.
Résolution
Vos messages Amazon SQS peuvent être déplacés vers la DLQ pour les raisons suivantes.
ReceiveCount dépasse maxReceiveCount
La valeur par défaut de maxReceiveCount est 10. Lorsque la valeur de ReceiveCount dépasse la valeur de maxReceiveCount pour une file d'attente, Amazon SQS déplace le message vers la DLQ. Pour résoudre ce problème, il est recommandé de définir maxReceiveCount à une valeur suffisamment élevée pour permettre les nouvelles tentatives Amazon SQS. Par exemple, si la valeur de maxReceiveCount est définie sur 1, l'échec de réception d'un message entraîne son déplacement vers la DLQ.
Votre fonction Lambda nécessite une configuration supplémentaire
Vous avez essayé de supprimer des messages SQS dont le descripteur ReceiptHandle est arrivé à expiration ou une fois le délai de visibilité expiré
Les messages sont déplacés vers la DLQ après de nouvelles tentatives. L'erreur QueueDoesNotExist peut se produire lorsque vous effectuez une opération DeleteMessage avec un descripteur ReceiptHandle antérieur de la file d'attente principale. Vous devez supprimer les messages dans la fenêtre VisibilityTimeout configurée. Pour plus d’informations, consultez la section Comment résoudre l'erreur QueueDoesNotExist lorsque je passe des appels d'API à ma file d'attente Amazon SQS ?