Aggregated size of all range keys has exceeded the size limit of 1024 bytes
TL;DR — DynamoDB begrenzt einen Sort-Key-Wert (Range Key) auf 1024 Byte und einen Partition-Key-Wert (Hash Key) auf 2048 Byte (gemessen UTF-8-kodiert). Dein Sort-Key-Wert hat 1024 Byte überschritten — meist ein überladener zusammengesetzter Schlüssel. Kürze ihn, hashe den langen Teil, oder verschieb den Ballast in ein Nicht-Schlüsselattribut.
Was es bedeutet
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 bytesDas ist ein hartes Key-Größen-Limit, getrennt vom 400-KB-Item-Limit. Der Wert des Sort Keys (gemessen als UTF-8-Bytes) darf höchstens 1024 Bytes betragen, der Wert des Partition Keys höchstens 2048. Wird das überschritten, wird der Schreibvorgang mit einer HTTP-400-ValidationException abgelehnt — ein Anfragefehler, der nicht wiederholbar ist, bis der Key kleiner ist.
Warum es passiert
- Zu lange zusammengesetzte Sort Keys — das Verketten vieler Segmente (
ORG#…#PROJECT#…#DOC#…#veryLongTitle…), bis der Wert 1024 Bytes überschreitet. - Einen großen Wert in den Key kodieren — eine vollständige URL, einen Pfad, eine Beschreibung oder einen serialisierten Blob in den Sort Key stecken.
- Multibyte-Zeichen — Nicht-ASCII-Text kostet in UTF-8 jeweils 2–4 Bytes, sodass ein „kurz aussehender" String über dem Byte-Limit liegen kann.
- Partition Key zu groß — dieselbe Fehlerklasse gegen das 2048-Byte-Limit des Hash Keys.
So behebst du es
- Stutz den zusammengesetzten Schlüssel auf die Segmente, nach denen du tatsächlich abfragst; wirf menschenlesbaren Füllstoff raus.
- Hashe den langen Teil — speicher einen kurzen deterministischen Digest (etwa einen gekürzten SHA-256) im Schlüssel und behalte den vollen Wert als normales Attribut.
- Zieh Ballast aus dem Schlüssel — der Sort Key soll das Item identifizieren und ordnen, nicht seine Nutzlast tragen; leg langen Text in ein Nicht-Schlüsselattribut (das vom 400-KB-Item-Budget profitiert).
- Miss in Bytes, nicht in Zeichen — UTF-8-kodieren und zählen, besonders bei Nicht-ASCII-Daten.
In DynoTable ansehen
Paste a draft item into the Item-Size-Rechner and check key attribute byte counts bevor du write. In DynoTable, öffne die Tabelle mit ⌘K, create a test item with staging (⌘S), and confirm the key fits — oversized keys fail before commit.
When redesigning composite keys, prototype queries in the Query Builder with shorter key segments. Wechsle Profile mit ⌘P; Verbindung testen on Einstellungen → Profile. Siehe Mit AWS verbinden und Installation.
Quellen
- Supported data types and naming rules (verifiziert 2026-07-13)
- BatchWriteItem — Amazon DynamoDB API Reference (verifiziert 2026-07-13)
Verwandte Fehler
- Item size has exceeded the maximum allowed size (400 KB) — das gesamte Item, nicht nur der Key, ist zu groß.
- The provided key element does not match the schema — ein Missverhältnis bei Key-Typ/-Form.
- Learn: DynamoDB Item-Size-Limit
Referenzen
- 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
Zuletzt verifiziert am 2026-07-13 gegen die oben verlinkte offizielle AWS-Dokumentation.