DynamoDB RequestLimitExceeded

TL;DR — Tu as dépassé un quota de débit de requêtes au niveau du compte/de la table, et non la capacité provisionnée propre à une table. Les tables à la demande ont par défaut 40 000 unités de requête de lecture et 40 000 unités de requête d'écriture par seconde. Garde les nouvelles tentatives avec backoff du SDK, augmente le quota dans Service Quotas si le trafic est réel, et répartis la charge pour qu'une seule table/partition ne soit pas le goulot d'étranglement.

Ce que ça signifie

RequestLimitExceeded: Throughput exceeds the current throughput limit for your
account. To request a limit increase, contact AWS Support.

RequestLimitExceeded est l'une des trois exceptions de throttling que DynamoDB renvoie sur le plan de données (aux côtés de ProvisionedThroughputExceededException et ThrottlingException). Elle indique que tu as atteint un quota de service au niveau du compte — comme le quota de débit par table pour les tables à la demande — plutôt qu'un plafond RCU/WCU provisionné par table. Elle renvoie un HTTP 400 et est réessayable — les SDK effectuent un backoff et réessaient automatiquement. L'erreur porte des champs ThrottlingReason (par ex. TableWriteAccountLimitExceeded ou IndexReadAccountLimitExceeded) ainsi que l'ARN de la ressource concernée.

Pourquoi ça arrive

  • Plafond par défaut d'une table à la demande — chaque table à la demande (et chacun de ses GSI) a un quota par défaut ajustable de 40 000 unités de requête de lecture et 40 000 unités de requête d'écriture par seconde. Une consommation soutenue au-delà provoque un throttling avec des ThrottlingReason au niveau du compte jusqu'à ce que le quota soit relevé.
  • La table ne peut pas monter en charge davantage sous le quota du compte — d'après la documentation AWS, le débit des requêtes à la demande dépasse le débit autorisé du compte « and the table cannot be scaled further ». Ces quotas sont des garde-fous de secours, et ils peuvent être augmentés.
  • Une table à la demande fraîchement créée en montée en charge — une table à la demande neuve (ou tout juste basculée en mode à la demande) sert instantanément jusqu'au double de son pic précédent ; un pic bien plus important au-delà peut provoquer un throttling avant qu'elle ne monte en charge.
  • Une seule table chaude absorbant un pic de trafic très supérieur à son pic récent.

Comment le corriger

  1. Garde les nouvelles tentatives avec backoff exponentiel activées — la valeur par défaut du SDK gère les pics transitoires. Utilise le mode de nouvelle tentative adaptatif pour les charges de travail en rafales. Ne désactive pas les nouvelles tentatives.
  2. Augmente le quota — demande une augmentation du débit à la demande par table (ou du quota de nombre de tables/débit du compte) dans Service Quotas si le trafic est légitime et soutenu.
  3. Préchauffe avant un pic connu — augmente le trafic progressivement plutôt que de sauter directement au pic, pour que la montée en charge à la demande reste en avance sur la demande.
  4. Répartis la charge — fragmente les clés chaudes et distribue les écritures pour qu'une seule table/partition ne porte pas tout le pic (schémas de partition chaude).
  5. Mets en cache les lectures chaudes (DAX ou un cache applicatif) pour soulager la pression de lecture sous le plafond.

FAQ

En quoi RequestLimitExceeded diffère-t-il de ProvisionedThroughputExceededException ? ProvisionedThroughputExceededException signifie qu'une table à capacité provisionnée a dépassé ses propres RCU/WCU configurés. RequestLimitExceeded signifie que tu as atteint un quota de débit de requêtes au niveau du compte ou de la table — le plus souvent la valeur par défaut à la demande de 40 000 unités de requête de lecture et 40 000 d'écriture par seconde — quel que soit le réglage par table d'une seule table.

RequestLimitExceeded est-il réessayable ? Oui. C'est une erreur de throttling et les SDK AWS la réessaient automatiquement avec un backoff exponentiel. Des occurrences persistantes signifient que tu as besoin d'une augmentation de quota ou de répartir la charge, pas de plus de nouvelles tentatives.

Erreurs liées

Références

Dernière vérification le 2026-07-13 par rapport à la documentation officielle AWS liée ci-dessus.

Travaille avec DynamoDB sans la Console

Un client de bureau rapide pour DynamoDB qui exécute le vrai SQL que DynamoDB ne peut pas — JOINs, GROUP BY, agrégations — avec édition visuelle et un agent IA sur tes propres clés Bedrock.

Essai gratuit de 30 jours, sans carte bancaire — ensuite la formule Gratuit, sans limite de durée.