Résoudre les erreurs d'API Amazon SQS - Amazon Simple Queue Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Résoudre les erreurs d'API Amazon SQS

Les rubriques suivantes présentent les erreurs les plus courantes renvoyées lors des appels d'API Amazon SQS et expliquent comment les résoudre.

QueueDoesNotExist erreur

Cette erreur sera renvoyée lorsque le service Amazon SQS ne trouvera pas la file d'attente mentionnée pour l'action Amazon SQS.

Causes possibles et mesures d'atténuation :

  • Région incorrecte : vérifiez la configuration du client Amazon SQS pour vérifier que vous avez configuré la bonne région sur le client. Lorsque vous ne configurez pas de région sur le client, le SDK AWS CLI choisit la région dans le fichier de configuration ou dans la variable d'environnement. Si le SDK ne trouve aucune région dans le fichier de configuration, il définit la région sur us-east-1 par défaut.

  • La file d'attente a peut-être été supprimée récemment : si la file d'attente a été supprimée avant que l'appel d'API ne soit effectué, l'appel d'API renverra cette erreur. Vérifiez toutes CloudTrail les DeleteQueueopérations effectuées avant le moment où l'erreur s'est produite.

  • Problèmes d'autorisation : si l'utilisateur ou le rôle demandeur AWS Identity and Access Management (IAM) ne dispose pas des autorisations requises, le message d'erreur suivant peut s'afficher :

    The specified queue does not exist or you do not have access to it.

    Vérifiez les autorisations et effectuez l'appel d'API avec les autorisations correctes.

Pour plus de détails sur la résolution de l'QueueDoesNotExisterreur, consultez Comment résoudre l' QueueDoesNotExist erreur lorsque je passe des appels d'API à ma file d'attente Amazon SQS ? dans le guide du centre de AWS connaissances.

InvalidAttributeValue erreur

Cette erreur sera renvoyée lors de la mise à jour de la politique de ressources de file d'attente Amazon SQS ou des propriétés avec une politique ou un principal incorrect.

Causes possibles et mesures d'atténuation :

  • Politique de ressources non valide : vérifiez que la politique de ressources contient tous les champs obligatoires. Pour plus d'informations, consultez les sections Référence aux éléments de stratégie IAM JSON et Validation des politiques IAM. Vous pouvez également utiliser le générateur de politiques IAM pour créer et tester une politique de ressources Amazon SQS. Assurez-vous que la politique est au format JSON.

  • Principal non valide : assurez-vous que l'Principalélément existe dans la politique de ressources et que la valeur est valide. Si l'Principalélément de votre politique de ressources Amazon SQS inclut une entité IAM, assurez-vous que l'entité existe avant d'utiliser la politique. Amazon SQS valide la politique de ressources et vérifie l'entité IAM. Si l'entité IAM n'existe pas, vous recevrez un message d'erreur. Pour confirmer les entités IAM, utilisez les GetUserAPI GetRoleet.

Pour plus d'informations sur la résolution d'une InvalidAttributeValue erreur, consultez Comment résoudre l' QueueDoesNotExist erreur lorsque je passe des appels d'API à ma file d'attente Amazon SQS ? dans le guide du centre de AWS connaissances.

ReceiptHandle erreur

Lors d'un appel d'DeleteMessageAPI, l'erreur ReceiptHandleIsInvalid InvalidParameterValue peut être renvoyée si le descripteur de réception est incorrect ou a expiré.

  • ReceiptHandleIsInvalid erreur : si le descripteur du reçu est incorrect, vous recevrez un message d'erreur similaire à cet exemple :

    An error occurred (ReceiptHandleIsInvalid) when calling the DeleteMessage operation: The input receipt handle <YOUR RECEIPT HANDLE> is not a valid receipt handle.
  • InvalidParameterValue erreur : si le descripteur du reçu est expiré, vous recevrez un message d'erreur similaire à cet exemple :

    An error occurred (InvalidParameterValue) when calling the DeleteMessage operation: Value <YOUR RECEIPT HANDLE> for parameter ReceiptHandle is invalid. Reason: The receipt handle has expired.

Causes possibles et mesures d'atténuation :

Le descripteur de réception est créé pour chaque message reçu et n'est valide que pendant la période d'expiration de la visibilité. Lorsque le délai de visibilité expire, le message devient visible dans la file d'attente pour les consommateurs. Lorsque vous recevez à nouveau le message du consommateur, vous recevez un nouvel identifiant de réception. Pour éviter les erreurs de traitement de réception incorrectes ou expirées, utilisez le bon identifiant de réception pour supprimer le message pendant le délai de visibilité de la file d'attente Amazon SQS.

Pour plus d'informations sur la résolution ReceiptHandle d'une erreur, consultez Comment résoudre les erreurs « » et ReceiptHandle IsInvalid « InvalidParameter Value » lorsque j'utilise l'appel d'API Amazon DeleteMessage SQS ? dans le guide du centre de AWS connaissances.