Comment résoudre les erreurs HTTP 4XX dans Amazon DynamoDB ?

Dernière mise à jour : 12/08/2022

Je souhaite résoudre les exceptions 4xx dans Amazon DynamoDB.

-ou-

Ma table Amazon DynamoDB comporte un nombre élevé d'erreurs UserErrors.

Brève description

Un code d'état HTTP 4xx indique qu'il y a un problème avec votre demande, tel qu'un échec d'authentification, des paramètres requis manquants ou un dépassement du débit provisionné d'une table. Vous devez résoudre le problème dans votre demande avant de soumettre à nouveau la demande. Pour obtenir la liste complète des erreurs 4xx, consultez Messages et codes d'erreur.

Vous pouvez visualiser ces erreurs côté client pour toutes les tables et tous les flux de la même région et du même compte à l'aide de la métrique Amazon CloudWatch UserErrors. Des exceptions telles que IncompleteSignatureException, ResourceNotFoundException et ValidationException entraînent des erreurs utilisateur. La métrique UserErrors ne capture pas ProvisionedThroughputExceededException ou ConditionalCheckFailedException. Pour plus d'informations, consultez la section Métriques DynamoDB.

Vous pouvez également obtenir des erreurs 4xx en raison de l'état temporaire de la table. Dans ce cas, vous pouvez réessayer vos demandes ultérieurement.

Solution

Voici les statistiques applicables pour UserErrors :

  • Sum : nombre total d'erreurs utilisateur au cours de la période
  • SampleCount : nombre total de requêtes ayant entraîné des erreurs utilisateur pendant la période

Résoudre les erreurs utilisateur côté client :

  1. Pour trouver les causes racines des erreurs utilisateur, notez la période spécifiée dans la métrique UserError. Ensuite, vérifiez cette période dans les journaux d'application du client.
  2. Pour éviter les erreurs utilisateur, ajoutez des instructions try-catch ou if-then pour intercepter les exceptions et y répondre. Pour en savoir plus, veuillez consulter la section Error handling with DynamoDB (Gestion des erreurs avec DynamoDB).

Cet article vous a-t-il été utile ?


Avez-vous besoin d'aide pour une question technique ou de facturation ?