Je n’arrive pas à rediriger les messages Amazon Simple Queue Service (Amazon SQS) des files d’attente de lettres mortes vers la file d’attente source.
Résolution
Icône grisée « Démarrer la redirection de file d’attente de lettres mortes »
Si vous ne configurez pas la file d’attente Amazon SQS en tant que file d’attente de lettres mortes, l’icône Démarrer la redirection de file d’attente de lettres mortes n’est pas accessible dans la console Amazon SQS.
Pour en savoir plus, consultez la page Configuration d’une redirection de file d’attente de lettres mortes.
Erreur « Failed: CouldNotDetermineMessageSource »
Si la file d’attente de lettres mortes contient l’un de ces messages, l’erreur suivante peut s’afficher lorsque vous tentez de démarrer une redirection de file d’attente de lettres mortes vers la file d’attente source :
- Message Amazon SQS envoyé avec l’appel d’API SendMessage à la file d’attente de lettres mortes.
- Message provenant de la rubrique Amazon Simple Notification Service (Amazon SNS) ou d’une fonction AWS Lambda pour laquelle la file d’attente de lettres mortes est configurée.
Pour résoudre cette erreur, choisissez Rediriger vers une destination personnalisée lorsque vous démarrez la redirection. Saisissez ensuite l’ARN de la file d’attente Amazon SQS pour déplacer tous les messages de la file d’attente de lettres mortes vers la file d’attente de destination.
Erreur « Failed: AWS.SimpleQueueService.NonExistentQueue »
Cette erreur se produit lorsque la redirection de file d’attente de lettres mortes échoue, car la file d’attente Amazon SQS source n’existe pas ou a été supprimée.
Erreur « Failed to create redrive task. Error code: AccessDenied - Queue Permissions to Redrive »
Cette erreur se produit lorsque la redirection de file d’attente de lettres mortes échoue, car l’entité Gestion des identités et des accès AWS (AWS IAM) ne dispose pas des autorisations requises. Les autorisations d’API suivantes sont requises pour effectuer des demandes de redirection de file d’attente de lettres mortes :
Pour les files d’attente de chiffrement côté serveur (SSE), l’autorisation de stratégie de clé AWS Key Management Service (AWS KMS) suivante est requise :
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": [
"sqs:ReceiveMessage",
"sqs:DeleteMessage",
"sqs:GetQueueAttributes",
"sqs:StartMessageMoveTask",
"sqs:ListMessageMoveTasks",
"sqs:CancelMessageMoveTask"
],
"Resource": "arn:aws:sqs:<DLQ_region>:<DLQ_accountId>:<DLQ_name>"
},
{
"Effect": "Allow",
"Action": "sqs:SendMessage",
"Resource": "arn:aws:sqs:<DestQueue_region>:<DestQueue_accountId>:<DestQueue_name>"
}
]
}
Pour en savoir plus, consultez la page Comment puis-je résoudre les erreurs « AccessDenied » ou « AccessDeniedException » lorsque je lance des appels d’API Amazon SQS ?
Important : si vous avez utilisé la console Amazon SQS pour configurer vos autorisations de file d’attente pour la redirection de file d’attente de lettres mortes avant le 31 août 2023, veillez à mettre à jour vos autorisations.
Informations connexes
De quelles autorisations ai-je besoin pour accéder à une file d’attente Amazon SQS ?
Pourquoi ma fonction Lambda réessaie-t-elle des messages Amazon SQS valides et les place-t-elle dans ma file d’attente de lettres mortes ?
Amazon SQS annonce la prise en charge de la redirection de file d’attente de lettres mortes FIFO