Errori DynamoDB

Errori DynamoDB comuni (e come risolverli)

Gli errori DynamoDB che gli sviluppatori incontrano più spesso — ognuno con il suo significato, la causa e la soluzione esatta.

Errori di validazione ed espressioni (52)

DynamoDB ValidationException — Cause e come correggerla
Una ValidationException DynamoDB significa che la richiesta è stata rifiutata come malformata prima di essere eseguita. I casi comuni e come risolverli.
"Query condition missed key schema element" — Soluzione DynamoDB
Query condition missed key schema element significa che al KeyConditionExpression manca l'uguaglianza sulla partition key. Interroga un GSI o usa uno Scan.
"The provided key element does not match the schema" — Soluzione DynamoDB
Questa ValidationException indica nome o tipo di un attributo chiave diversi dal KeySchema della tabella — sort key mancante o numero inviato come stringa.
"Errore di sintassi UpdateExpression" non valido: correzione DynamoDB
Una UpdateExpression non valida è solitamente una parola chiave riservata utilizzata in modo grezzo o un segnaposto #name o :value mancante. Nomi riservati alias con ExpressionAttributeNames e valori di associazione con ExpressionAttributeValues.
"ExpressionAttributeValues contiene un valore non valido" — DynamoDB Correzione
Questa ValidationException significa che un valore in ExpressionAttributeValues è vuoto, del tipo sbagliato o un segnaposto che l'espressione non ha mai definito.
"Item size has exceeded the maximum allowed size" — Soluzione DynamoDB
Gli Item DynamoDB sono limitati a 400 KB. Questa ValidationException significa che il tuo Item supera il limite — come misurarne la dimensione e rientrare.
DynamoDB ConditionalCheckFailedException — Cause e soluzione
ConditionalCheckFailedException significa che il tuo ConditionExpression è falso, quindi DynamoDB rifiuta la scrittura e lascia l'Item invariato.
DynamoDB TransactionCanceledException — Decodifica le ragioni di annullamento
TransactionCanceledException: un Item è fallito e l'intera transazione ha subito il rollback. Leggi l'array CancellationReasons per sapere quale e perché.
DynamoDB SerializationException — Cause e soluzione
SerializationException: il JSON non corrisponde al formato wire di DynamoDB — di solito un numero inviato come stringa. Correggi i wrapper AttributeValue.
"Supplied AttributeValue is empty" — Soluzione DynamoDB
Questa ValidationException indica un AttributeValue senza valore tipizzato: set vuoto, stringa di chiave vuota, campo undefined. Rimuovilo o valorizzalo.
"One or more parameter values were invalid" — Soluzione DynamoDB
Questa ValidationException indica un valore contro una regola DynamoDB: set vuoto, stringa di chiave vuota, tipo errato. Il messaggio nomina il parametro.
"Invalid size for parameter" — Soluzione Scrittura Vettoriale DynamoDB
DynamoDB rifiuta una scrittura vettoriale quando il numero di dimensioni dell'embedding non corrisponde all'indice vettoriale. Il messaggio nomina l'attributo ed entrambe le dimensioni.
"Search vector contains invalid values" — Soluzione DynamoDB
SearchVectors rifiuta un vettore di query avvolto nel tipo L di DynamoDB o contenente valori non float. Il parametro è un array JSON nudo, non un attributo List.
"SearchConditionExpression must be provided" — Soluzione DynamoDB
Un indice vettoriale con una chiave HASH nel search schema richiede che ogni chiamata SearchVectors fissi esattamente un valore di partizione. Il filtro ha smesso di essere opzionale alla creazione dell'indice.
"Query key condition not supported" — Soluzione DynamoDB
DynamoDB rifiuta un KeyConditionExpression con un operatore vietato dal key schema — le partition key accettano solo l'uguaglianza. Ecco quelli consentiti.
"Attribute name is a reserved keyword" — Soluzione DynamoDB
DynamoDB rifiuta parole riservate come status, name o size come nomi di attributo nudi. Usa un alias con un placeholder ExpressionAttributeNames come #status.
"Float types are not supported" — Soluzione DynamoDB boto3
boto3 solleva TypeError "Float types are not supported" perché DynamoDB memorizza decimali esatti. Converti i float in decimal.Decimal dalla forma stringa.
"Number overflow" — Soluzione limite di dimensione dei numeri DynamoDB
Il tipo N di DynamoDB regge 38 cifre di precisione e una grandezza fino a ~9.9E+125. Oltre, memorizza ID grandi e valori ad alta precisione come stringhe.
"The provided expression refers to an attribute that does not exist" — Soluzione
UpdateExpression o ConditionExpression puntano a un percorso che non è sull'Item — mappa genitore mancante, refuso o calcoli su un attributo mancante.
"L'elenco fornito delle chiavi degli elementi contiene duplicati" (BatchGetItem) — Correzione
DynamoDB rifiuta un BatchGetItem quando l'elenco Chiavi di una tabella ripete una chiave primaria. L'intero batch fallisce, quindi deduplica le chiavi prima dell'invio.
"Provided list of item keys contains duplicates" (BatchWriteItem) — Soluzione
DynamoDB rifiuta un BatchWriteItem se due azioni puntano alla stessa chiave primaria. Un batch non tocca un Item due volte, quindi unisci i duplicati.
"La dimensione dell'espressione ha superato la dimensione massima consentita" (4 KB) — Correzione
DynamoDB limita ogni stringa di espressione a 4 KB. Un FilterExpression, ConditionExpression o UpdateExpression passato che viene rifiutato. Come rimpicciolirlo.
"La dimensione aggregata di tutte le chiavi dell'intervallo ha superato il limite di dimensione" — Correzione
DynamoDB limita una chiave di ordinamento a 1024 byte e una chiave di partizione a 2048 byte. Riduci i valori degli attributi chiave o esegui l'hash degli identificatori lunghi prima di archiviarli.
"L'espressione filtro può contenere solo attributi di chiave non primaria" — Correzione
DynamoDB rifiuta una FilterExpression che nomina una partizione o una chiave di ordinamento. Le chiavi appartengono a KeyConditionExpression: ecco come ristrutturare la query.
DynamoDB BatchGetItem, limite di 100 elementi — correzione di "Too Many Items"
BatchGetItem accetta al massimo 100 elementi (e 16 MB) per chiamata. Chiedi di più e DynamoDB rifiuta l'intera richiesta. Il limite, più il ciclo di suddivisione in blocchi.
"Troppi elementi richiesti per la chiamata BatchWriteItem" — Correzione
BatchWriteItem accetta al massimo 25 azioni di inserimento o eliminazione per chiamata. Inviane altri e DynamoDB rifiuta l'intera richiesta con una ValidationException.
DynamoDB "Can Not Use Both Expression and Non-Expression Parameters" — Correzione
DynamoDB rifiuta una richiesta che combina un parametro legacy come KeyConditions con KeyConditionExpression. Rilascia il parametro legacy e utilizza le espressioni.
"Local secondary indexes must be specified at table creation" — Correzione
Un indice secondario locale può essere definito solo al momento della creazione della tabella e mai aggiunto successivamente. Perché esiste il vincolo e come aggirarlo.
DynamoDB TransactionCanceledException — Correggere ConditionalCheckFailed
TransactWriteItems annullato con ConditionalCheckFailed: la condizione di un Item è fallita e ha fatto il rollback dell'intera transazione. Come trovarla.
"Valore fornito in ExpressionAttributeNames non utilizzato nelle espressioni" — Correzione
DynamoDB rifiuta una richiesta che dichiara un alias ExpressionAttributeNames senza riferimenti a un'espressione. Rimuovilo o correggi l'espressione che l'ha mancato.
"Valore fornito in ExpressionAttributeValues non utilizzato nelle espressioni" — Correzione
DynamoDB rifiuta una richiesta che dichiara un segnaposto ExpressionAttributeValues utilizzato da nessuna espressione. Rimuovere il valore orfano o correggere l'espressione.
DynamoDB S3 Importazione non riuscita: correzione del formato non valido
DynamoDB L'importazione da S3 fallisce quando gli oggetti non corrispondono all'InputFormat o alla compressione dichiarati o quando gli elementi non hanno la chiave primaria.
"Size of hashkey has exceeded the maximum size limit of 2048 bytes" — Correzione
Una chiave di partizione DynamoDB può contenere al massimo 2048 byte e una chiave di ordinamento 1024 byte. Se si supera uno dei due, la scrittura verrà rifiutata: ecco come riprogettare la chiave.
DynamoDB GSI "Does Not Project" Attribute — Soluzione
Un GSI restituisce solo gli attributi chiave più la sua proiezione, quindi interrogarlo per altro fallisce. Cambia la proiezione o la richiesta — ecco come.
"I livelli di nidificazione hanno superato i limiti supportati" — DynamoDB Correzione a 32 livelli
DynamoDB mappa dei limiti ed elenco annidati a 32 livelli: i documenti più profondi lanciano "I livelli di annidamento hanno superato i limiti supportati". Appiattisci mappe ed elenchi nidificati sotto i 32 livelli.
"Segment must be less than TotalSegments" — Correzione scansione parallela
La scansione parallela richiede 0 ≤ segmento < TotalSegments ed entrambi devono essere inviati insieme. Assegna a ciascun lavoratore un segmento distinto da 0 a TotalSegments − 1.
DynamoDB "Cannot Specify AttributesToGet When Select Is COUNT" — Correzione
DynamoDB rifiuta una query o una scansione che imposta Select=COUNT con ProjectionExpression o AttributesToGet. COUNT restituisce un numero, quindi elimina la proiezione.
DynamoDB Stream "Il ARN fornito non è valido" — Correzione
DynamoDB Streams rifiuta un flusso non valido o segnaposto ARN come /stream/latest. Passa il vero LatestStreamArn restituito da DescribeTable, parola per parola.
"La richiesta di transazione non può includere più operazioni su un articolo" — Correzione
DynamoDB rifiuta una chiamata TransactWriteItems quando due azioni hanno come target la stessa chiave primaria. Comprimi i duplicati o spostane uno in una scrittura separata.
DynamoDB Limite di 100 azioni TransactWriteItems: risolto
TransactWriteItems ha un limite di 100 azioni; dopodiché ottieni una ValidationException sulla lunghezza TransactItems. Dividilo o utilizza BatchWriteItem a 25 per chiamata.
DynamoDB TTL Attribute Must Be a Number — Cause e soluzione
Il TTL di DynamoDB fa scadere solo gli Item con attributo TTL Number in secondi epoch Unix. String, millisecondi o attributo mancante non scadono mai.
DynamoDB "L'espressione non può essere vuota" — Correzione
DynamoDB rifiuta un parametro di espressione passato come una stringa vuota. Ometti completamente FilterExpression o UpdateExpression quando non hai nulla da inviare.
"ExpressionAttributeNames contiene una chiave non valida: errore di sintassi" — Correzione
DynamoDB rifiuta una mappa ExpressionAttributeNames la cui chiave segnaposto interrompe la sintassi "#name". La regola di denominazione e dove appartiene il vero nome.
"Two document paths overlap with each other" (DynamoDB) — Soluzione
DynamoDB rifiuta un UpdateExpression che imposta un percorso genitore e uno nidificato al suo interno. Fondi il figlio nel genitore o fai due update.
"The document path provided in the update expression is invalid" — Soluzione
Un document path non valido significa che il genitore dell'attributo annidato non esiste o non è una mappa. DynamoDB non lo crea mai, quindi crealo prima.
"Un operando nell'espressione di aggiornamento ha un tipo di dati errato" — Correzione
Il tipo dell'operando di aggiornamento non corrisponde a ciò che è memorizzato: ADD su un non numero, list_append su un non elenco, un set non corrispondente.
DynamoDB IdempotentParameterMismatchException — Cause e soluzione
TransactWriteItems rifiuta un retry che riusa un ClientRequestToken con payload diverso entro la finestra di idempotenza di 10 minuti. Ecco la soluzione.
"Le letture coerenti non sono supportate sugli indici secondari globali" — Correzione
L'esecuzione di una query su GSI con ConsistentRead true genera una ValidationException. I GSI servono solo letture eventualmente coerenti. Lascia cadere la bandiera o leggi la tabella di base.
DynamoDB DuplicateItemException (PartiQL INSERT) — Cause e soluzione
PartiQL INSERT fallisce con DuplicateItemException se la chiave primaria esiste già. A differenza di PutItem non sovrascrive, quindi usa UPDATE o PutItem.
"Inaspettato dalla fonte" (DynamoDB PartiQL) — Correzione
PartiQL genera "Inaspettato dall'origine" quando il nome di una tabella con trattini o altri caratteri speciali non è racchiuso tra virgolette doppie in FROM. Una coppia di virgolette lo risolve.
boto3 "Parameter validation failed" (ParamValidationError) — Soluzione
botocore solleva ParamValidationError prima che la richiesta arrivi a DynamoDB: di solito confusione di tipi tra client e resource. Ecco come correggerlo.
"La chiave di avvio fornita non è valida" (DynamoDB) — Correzione
DynamoDB rifiuta un ExclusiveStartKey che non corrisponde allo schema chiave della tabella o dell'indice che stai impaginando. Ripassa LastEvaluatedKey alla lettera.

Errori di throughput e throttling (11)

DynamoDB ProvisionedThroughputExceededException — Cause e soluzione
ProvisionedThroughputExceededException in DynamoDB: letture o scritture oltre la capacità con provisioning di tabella o GSI. Cosa si è esaurito e come agire.
DynamoDB ThrottlingException: cause e soluzioni
ThrottlingException significa che la frequenza delle richieste ha superato un limite, spesso su chiamate del piano di controllo come CreateTable. Riprovare con backoff esponenziale e rallentare.
DynamoDB ItemCollectionSizeLimitExceededException: cause e soluzioni
Questo errore colpisce solo le tabelle con un indice secondario locale: una raccolta di elementi (tutti gli elementi che condividono una chiave di partizione) ha superato 10 GB.
DynamoDB RequestLimitExceeded — Cause e soluzione
RequestLimitExceeded è un limite di rate dell'account: on-demand parte da 40.000 unità di richiesta lettura/scrittura al secondo. Alzalo in Service Quotas.
DynamoDB TransactionConflictException: cause e soluzioni
TransactionConflittiException significa che un'altra transazione sta già toccando lo stesso elemento. È temporaneo: riprova con il backoff e mantieni le transazioni di piccole dimensioni.
"Provisioned throughput decreases are limited within a given day" — Soluzione
DynamoDB limita le riduzioni di capacità con provisioning per tabella e giorno UTC. Ecco il calcolo della quota e come aggirare l'errore di UpdateTable.
DynamoDB On-Demand Throughput Exceeded — Cause e soluzione
Anche le tabelle on-demand fanno throttling: throughput massimo configurato, rampa oltre il doppio del picco precedente o quota. Ecco come alzare i limiti.
DynamoDB Limitato nonostante la capacità: correzione della partizione hot
DynamoDB limita una chiave di partizione attiva anche con capacità di riserva della tabella, poiché ciascuna partizione fisica ha un limite di 3.000 RCU e 1.000 WCU.
DynamoDB TransactionInProgressException: cause e soluzioni
Un tentativo TransactWriteItems ha riutilizzato il ClientRequestToken di un tentativo ancora in esecuzione. Continua a riprovare con il backoff e regola i timeout oltre i 5 secondi.
DynamoDB InternalServerError (HTTP 500): cosa fare
Un HTTP 500 da DynamoDB è un errore lato servizio temporaneo, è sicuro riprovare, ma potrebbe essere stata comunque applicata una scrittura non riuscita. Riprova con backoff; confermare la scrittura prima di presumere un errore.
DynamoDB ReplicatedWriteConflectException: cause e soluzioni
Su una tabella globale fortemente coerente con più regioni, una scrittura viene rifiutata quando un'altra regione sta modificando lo stesso elemento. È possibile riprovare: ecco come.

Errori di tabelle e risorse (19)

DynamoDB ResourceNotFoundException: cause e soluzioni
ResourceNotFoundException significa che la tabella o l'indice non esiste nella regione e nell'account che stai chiamando. Controlla il nome, la regione e le credenziali.
DynamoDB ResourceInUseException ("La tabella esiste già") — Correzione
ResourceInUseException significa che la tabella esiste già o è ancora IN CREAZIONE, AGGIORNAMENTO o ELIMINAZIONE. Controlla il suo stato con DescribeTable prima di agire.
DynamoDB LimitExceededException: cause e soluzioni
LimitExceededException significa troppe chiamate simultanee a CreateTable, UpdateTable o DeleteTable o un limite di account raggiunto. Serializza le chiamate sul piano di controllo e rimani entro le quote dell'account.
"La tabella non ha l'indice specificato" — Correzione
DynamoDB rifiuta la chiamata perché IndexName non esiste su quella tabella, è scritto in modo errato o GSI non è ancora ATTIVO. Conferma IndexName sulla tabella e che GSI sia ATTIVO.
DynamoDB BackupNotFoundException: cause e soluzioni
DynamoDB BackupNotFoundException significa che nessun backup corrisponde al BackupArn passato. Di solito un ARN sbagliato, un backup cancellato o scaduto o la regione sbagliata.
DynamoDB ReplicaNotFoundException: cause e soluzioni
ReplicaNotFoundException significa che la replica della regione che stai aggiornando non è nella tabella globale: una regione sbagliata, una replica rimossa o una razza.
"Tentativo di modificare un GSI creato" — Correzione
DynamoDB blocca i cambiamenti strutturali mentre un indice secondario globale è ancora in costruzione. Attendi che IndexStatus raggiunga ACTIVE o metti in sequenza le modifiche.
DynamoDB ExportTableToPointInTime — risolvere PITR non attivo
Senza point-in-time recovery sulla tabella di origine, ExportTableToPointInTime genera PointInTimeRecoveryUnavailableException. La soluzione in un comando.
DynamoDB Mancata corrispondenza della versione della tabella globale: cause e soluzioni
La creazione di tabelle globali fallisce quando le repliche non si allineano: tabelle non vuote, schemi di chiavi o GSI non corrispondenti o un mix delle versioni 2017 e 2019 API.
DynamoDB LSI Raccolta articoli Limite di 10 GB: cause e soluzioni
Le tabelle con un indice secondario locale limitano ogni raccolta di elementi a 10 GB: attraversalo e le scritture falliscono. Monitora ItemCollectionMetrics e shardizzalo nuovamente.
DynamoDB Impossibile accedere allo streaming: correzione dello streaming non abilitato
Un consumatore ha letto uno stream DynamoDB su una tabella con Streams disattivati o ha utilizzato uno stream ARN obsoleto. Abilita Streams e puntalo sull'attuale LatestStreamArn.
DynamoDB TableAlreadyExistsException / "La tabella esiste già" — Correzione
I ripristini lanciano TableAlreadyExistsException; CreateTable e ImportTable segnalano ResourceInUseException. Il nome del target è già stato preso, quindi scegline uno nuovo.
DynamoDB Streams ExpiredIteratorException — Cause e soluzione
Uno shard iterator di DynamoDB Streams vale 15 minuti. Usarlo dopo fa generare a GetRecords ExpiredIteratorException. Come riprendere senza perdere dati.
DynamoDB Streams TrimmedDataAccessException: cause e soluzioni
I record del flusso sono attivi 24 ore su 24, quindi un checkpoint più vecchio genera TrimmedDataAccessException. Riprendi da TRIM_HORIZON e riconcilia dalla tabella.
DynamoDB BackupInUseException: cause e soluzioni
DynamoDB BackupInUseException significa che un'altra operazione di backup sulla stessa tabella è ancora in esecuzione. Attendi che finisca, quindi riprova a chiamare.
DynamoDB InvalidRestoreTimeException: cause e soluzioni
InvalidRestoreTimeException significa che RestoreDateTime non rientra nella finestra PITR della tabella fino a 35 giorni. Scegli un RestoreDateTime all'interno della finestra PITR della tabella (fino a 35 giorni).
DynamoDB PointInTimeRecoveryUnavailableException: correzione
Hai provato un ripristino temporizzato su una tabella su cui non era mai stato abilitato PITR. Abilita subito i backup continui e utilizza un backup su richiesta per i dati di oggi.
DynamoDB GlobalTableNotFoundException: cause e soluzioni
GlobalTableNotFoundException significa che le API legacy della tabella globale non possono vedere la tua tabella, in genere una tabella globale 2019.11.21 gestita tramite UpdateTable.
DynamoDB ReplicaAlreadyExistsException: cause e soluzioni
Hai chiesto a DynamoDB di aggiungere una regione di replica già nella tabella globale. Descrivere innanzitutto il gruppo di replica e rendere idempotente la gestione delle repliche.

Errori di autenticazione e configurazione (13)

"not authorized to perform dynamodb:..." — correggere AccessDeniedException
DynamoDB AccessDeniedException significa che la tua identità IAM non è autorizzata per l'azione indicata nel messaggio. Come leggerlo e correggere la policy IAM.
"Errore di configurazione: regione mancante nella configurazione" — DynamoDB Correzione
L'AWS SDK non è riuscito a capire a quale regione inviare le richieste DynamoDB. Impostalo sul client, tramite AWS_REGION o nella tua configurazione AWS: ecco ogni opzione.
"Il token di sicurezza incluso nella richiesta non è valido" — DynamoDB Correzione
Questa UnrecognizedClientException significa che le tue credenziali AWS sono errate, scadute o non vengono ritirate. Controlla le chiavi di accesso, la scadenza del token di sessione e il profilo caricato dall'SDK.
DynamoDB IncompleteSignatureException: cause e soluzioni
IncompleteSignatureException significa che la firma SigV4 non era valida, in genere firma eseguita manualmente o un proxy che ha riscritto l'intestazione dell'autorizzazione.
"Il token di sicurezza incluso nella richiesta è scaduto" — DynamoDB Correzione
ExpiredTokenException significa che le credenziali temporanee del servizio STS, SSO o del ruolo assunto sono scadute. Esegui nuovamente aws sso login e cancella eventuali AWS_SESSION_TOKEN obsoleti.
"Impossibile individuare le credenziali" (boto3 / DynamoDB) — Correzione
boto3 solleva NoCredentialsError quando nulla nella catena di provider fornisce AWS credenziali: nessuna variabile di ambiente, nessun profilo, nessun ruolo di istanza.
"La firma della richiesta che abbiamo calcolato non corrisponde" — Correzione
DynamoDB restituisce InvalidSignatureException, non SignatureDoesNotMatch, quando la firma SigV4 fallisce. Di solito si tratta di una chiave segreta sbagliata o di uno spostamento dell'orologio sulla macchina.
"Le credenziali devono avere come ambito una regione valida" — DynamoDB Correzione
Questo errore SigV4 significa che la regione nell'ambito delle tue credenziali non corrisponde alla regione effettivamente chiamata. Come allineare le regioni client ed endpoint.
"InvalidSignatureException: firma scaduta" — DynamoDB Correzione
DynamoDB rifiuta una richiesta il cui timestamp firmato è più di cinque minuti indietro rispetto all'orario del server AWS. Quasi sempre l'orario del client è discordato: ecco come risolverlo.
"Token di autenticazione mancante" — DynamoDB Correzione errore
Una MissingAuthenticationTokenException da DynamoDB indica un URL o un percorso dell'endpoint errato oppure una richiesta che non è mai stata firmata. Controlla l'URL e il percorso dell'endpoint e che la richiesta sia firmata SigV4.
"Impossibile caricare le credenziali da nessun provider" (DynamoDB) — Correzione
L'AWS SDK per JavaScript v3 solleva CredentialsProviderError quando l'intera catena di credenziali risulta vuota. Come si risolve la catena e ciascuna soluzione.
"The SSO session associated with this profile has expired" — Correzione
Un token IAM Identity Center scaduto interrompe le chiamate CLI e AWS SDK a DynamoDB. Esegui aws sso login e cancella ~/.aws/sso/cache non aggiornato se ciò non è sufficiente.
"The config profile could not be found" (AWS CLI e boto3) — Correzione
La AWS CLI e boto3 sollevano ProfileNotFound quando il profilo denominato manca da ~/.aws/config. Le tre cause abituali e la soluzione per ciascuna.

Errori di DynamoDB Local e configurazione (8)

"Impossibile avviare il processo locale DynamoDB" — Correzione
DynamoDB Avvio locale non riuscito: in genere un runtime Java mancante/incompatibile, una porta già in uso o un percorso di installazione errato. Controlla il runtime Java, i conflitti delle porte e il percorso di installazione.
"Could not connect to DynamoDB Local" (ECONNREFUSED) — Correzione
ECONNREFUSED contro DynamoDB Locale significa che non c'è nulla in ascolto. Di solito l'emulatore non è in esecuzione, la porta è sbagliata o l'SDK raggiunge il valore reale AWS.
"Could not connect to the endpoint URL" (DynamoDB) — Correzione
botocore solleva EndpointConnectionError quando non può raggiungere DynamoDB. Di solito si tratta di un URL endpoint errato, DynamoDB Locale non in esecuzione o di una regione non valida.
DynamoDB Locale "Indirizzo già in uso" (porta 8000) — Correzione
DynamoDB Local lancia java.net.BindException quando qualcosa possiede già la porta 8000. Come trovare il processo, liberare la porta o avviare Local su un'altra porta.
DynamoDB Locale "Failed to load native library sqlite4java" — Correzione
DynamoDB Il locale muore all'avvio con un UnsatisfiedLinkError per sqlite4java, causato da un java.library.path errato o da una mancata corrispondenza dell'arco Apple Silicon.
"Impossibile eseguire la richiesta HTTP" (DynamoDB, Java SDK) — Correzione
L'AWS SDK per Java non riesce con Impossibile eseguire la richiesta HTTP quando non riesce a raggiungere l'endpoint. DynamoDB Locale inattivo, porta errata o rete Docker.
"Impossibile eseguire operazioni su una tabella inesistente" (DynamoDB Locale) — Correzione
DynamoDB Locale fornisce a ciascuna credenziale e regione il proprio database, quindi una tabella creata può essere invisibile. Esegui Local con -sharedDb per condividerne uno.
DynamoDB Errore locale UnsupportedClassVersion: risolto
DynamoDB Local 2.6.0 e versioni successive richiedono Java 17 o successivo. Su un JRE precedente la JVM si rifiuta di caricarlo. Installa un JDK corrente o esegui l'immagine Docker.

Come vengono verificati

La documentazione parafrasa la propria implementazione, e la parafrasi si allontana dalla realtà. Ogni messaggio di errore citato in queste pagine è stato prodotto eseguendo la chiamata che fallisce sul servizio AWS DynamoDB reale e registrando ciò che è tornato indietro, carattere per carattere — non copiandolo dalla documentazione AWS.

Non DynamoDB Local. L'emulatore è comodo, ma AWS non garantisce che formuli gli errori come fa il servizio — e quando abbiamo verificato, più della metà dei suoi messaggi era diversa. Dove la differenza vale la pena conoscerla, la pagina mostra entrambi.

Le uniche modifiche riguardano le parti che descrivono la tua richiesta anziché l'errore: il nome della tabella e la copia del tuo payload che il servizio restituisce. Un test fa fallire la build se una pagina cita una stringa che il servizio non ha mai restituito — esiste perché una delle nostre pagine ha citato per mesi un messaggio inventato prima che qualcuno eseguisse il codice.

58 messaggi su 14 tipi di eccezione: 55 catturati sul servizio live, 2 rifiutati dall'SDK prima che una richiesta venisse inviata e 1 in cui l'oggetto è la formulazione di DynamoDB Local stesso. 6 riportano una nota su come l'emulatore formula lo stesso errore.

Servizio live
Amazon DynamoDB (live service, us-east-1)
Emulatore (per confronto)
DynamoDB Local (amazon/dynamodb-local)
SDK JavaScript
@aws-sdk/client-dynamodb 3.1096.0
SDK Python
boto3 1.43.81 on Python 3.14.7
Node.js
v24.20.0

Altre risorse su DynamoDB

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.