La dimensione aggregata di tutte le chiavi dell'intervallo ha superato il limite di dimensione di 1024 byte

TL;DR — DynamoDB limita un valore di chiave di ordinamento (intervallo) a 1024 byte e un valore di chiave di partizione (hash) a 2048 byte (misurato con codifica UTF-8). Il valore della tua chiave di ordinamento ha attraversato 1024 byte, di solito una chiave composita sovraffollata. Accorcialo, esegui l'hashing della parte lunga o sposta la maggior parte in un attributo non chiave.

Cosa significa

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

Si tratta di un limite rigido di dimensione chiave, separato dal limite di elementi di 400 KB. Il valore della chiave di ordinamento (misurato come byte UTF-8) può essere al massimo 1024 byte; il valore della chiave di partizione è al massimo 2048. Attraversalo e la scrittura viene rifiutata con una ValidationException HTTP 400 — un errore di richiesta che non è riprovabile finché la chiave non diventa più piccola.

Perché succede

  • Chiavi di ordinamento composite troppo lunghe: concatenano molti segmenti (ORG#…#PROJECT#…#DOC#…#veryLongTitle…) finché il valore non supera 1024 byte.
  • Codifica di un valore di grandi dimensioni nella chiave: inserimento di un URL completo, percorso, descrizione o BLOB serializzato nella chiave di ordinamento.
  • Caratteri multibyte: il testo non ASCII costa 2–4 byte ciascuno in UTF-8, quindi una stringa "di breve durata" può superare il limite di byte.
  • Chiave di partizione troppo grande: la stessa classe di errore rispetto al limite della chiave hash di 2048 byte.

Come risolverlo

  1. Ritaglia la chiave composita solo sui segmenti su cui effettivamente esegui la query; rilasciare un riempitivo leggibile dall'uomo.
  2. Hash della porzione lunga: memorizza un breve digest deterministico (ad esempio uno SHA-256 troncato) nella chiave e mantieni il valore completo come attributo normale.
  3. Spostare la maggior parte fuori dalla chiave: la chiave di ordinamento dovrebbe identificare/ordinare l'articolo, non trasportarne il carico utile; inserire un testo lungo in un attributo non chiave (che gode del budget dell'articolo di 400 KB).
  4. Misura in byte, non caratteri: codifica e conteggio UTF-8, in particolare per dati non ASCII.

Vedilo in DynoTable

Incolla una bozza di elemento nel calcolatore della dimensione dell'elemento e controlla il conteggio dei byte degli attributi chiave prima di scrivere. In DynoTable, apri la tabella con ⌘K, crea un elemento di prova con staging (⌘S) e conferma che la chiave si adatta: le chiavi sovradimensionate falliscono prima del commit.

Quando si riprogettano le chiavi composite, prototipare le query nel Builder di query con segmenti di chiave più brevi. Cambia profilo con ⌘P; Verifica connessione in Impostazioni → Profili. Consulta Connetti a AWS e Installa.

Fonti

Errori correlati

Riferimenti

Ultima verifica il 13-07-2026 rispetto alla documentazione ufficiale del AWS collegata sopra.

Lavora con DynamoDB senza la Console

Un client desktop veloce per DynamoDB che esegue il vero SQL che DynamoDB non può — JOINs, GROUP BY, aggregazioni — con modifica visuale e un agente AI sulle tue chiavi Bedrock.

Prova gratuita di 30 giorni, senza carta di credito — poi il piano Free senza limiti di tempo.