Aggregated size of all range keys has exceeded the size limit of 1024 bytes
TL;DR — DynamoDB limite une valeur de clé de tri (range) à 1024 octets et une valeur de clé de partition (hash) à 2048 octets (mesurées en UTF-8). Ta valeur de clé de tri a franchi les 1024 octets — généralement une clé composite surchargée. Raccourcis-la, hache la partie longue, ou déplace le gros dans un attribut non clé.
Ce que ça signifie
ValidationException: One or more parameter values were invalid: Aggregated size of all range keys has exceeded the size limit of 1024 bytes
# on DynamoDB Local you get one combined sentence instead, naming neither key:
ValidationException: Hash primary key values must be under 2048 bytes, and range primary key values must be under 1024 bytesC'est une limite stricte de taille de clé, distincte de la limite d'élément de 400 Ko. La valeur de la clé de tri (mesurée en octets UTF-8) peut faire au plus 1024 octets ; la valeur de la clé de partition au plus 2048. Dépasse-la et l'écriture est rejetée avec une ValidationException HTTP 400 — une erreur de requête qui n'est pas réessayable tant que la clé n'est pas plus petite.
Pourquoi ça arrive
- Clés de tri composites trop longues — concaténer de nombreux segments (
ORG#…#PROJECT#…#DOC#…#veryLongTitle…) jusqu'à ce que la valeur dépasse 1024 octets. - Encoder une valeur volumineuse dans la clé — mettre une URL complète, un chemin, une description ou un blob sérialisé dans la clé de tri.
- Caractères multi-octets — le texte non-ASCII coûte 2 à 4 octets chacun en UTF-8, donc une chaîne « d'apparence courte » peut dépasser la limite en octets.
- Clé de partition trop grande — la même classe d'erreur contre la limite de 2048 octets de la clé de hachage.
Comment le corriger
- Élague la clé composite pour ne garder que les segments sur lesquels tu interroges réellement ; supprime le remplissage lisible par un humain.
- Hache la portion longue — stocke un condensé déterministe court (par ex. un SHA-256 tronqué) dans la clé et garde la valeur complète comme un attribut normal.
- Sors le gros de la clé — la clé de tri doit identifier/ordonner l'élément, pas porter sa charge utile ; mets le texte long dans un attribut non clé (qui bénéficie du budget d'élément de 400 Ko).
- Mesure en octets, pas en caractères — encode en UTF-8 et compte, surtout pour les données non-ASCII.
Vois-le dans DynoTable
Colle un brouillon d'élément dans le calculateur de taille d'élément et vérifie le nombre d'octets des attributs de clé avant d'écrire. Dans DynoTable, ouvre la table avec ⌘K, crée un élément de test avec le staging (⌘S), et confirme que la clé passe — les clés trop grosses échouent avant validation.
Quand tu repenses des clés composites, prototype tes requêtes dans le Query Builder avec des segments de clé plus courts. Change de profil avec ⌘P ; Test Connection dans Settings → Profiles. Vois Se connecter à AWS et Installation.
Sources
- Supported data types and naming rules (vérifié le 2026-07-13)
- BatchWriteItem — Amazon DynamoDB API Reference (vérifié le 2026-07-13)
Erreurs liées
- Item size has exceeded the maximum allowed size (400 Ko) — l'élément entier, et pas seulement la clé, est trop gros.
- The provided key element does not match the schema — une non-concordance de type/forme de clé.
- Apprends : Limite de taille d'élément DynamoDB
Références
- Supported data types and naming rules in Amazon DynamoDB — Developer Guide
- BatchWriteItem — Amazon DynamoDB API Reference (key length limits)
- Error handling with DynamoDB — Amazon DynamoDB Developer Guide
Dernière vérification le 2026-07-13 par rapport à la documentation officielle AWS liée ci-dessus.