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 bytes

C'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

  1. Élague la clé composite pour ne garder que les segments sur lesquels tu interroges réellement ; supprime le remplissage lisible par un humain.
  2. 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.
  3. 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).
  4. 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

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.