DynamoDB-Fehler

Häufige DynamoDB-Fehler (und wie man sie behebt)

Die DynamoDB-Fehler, auf die Entwickler am häufigsten stoßen — jeweils mit Bedeutung, Ursache und der genauen Lösung.

Validierungs- und Ausdrucksfehler (52)

DynamoDB ValidationException — Ursachen & Lösung
Eine DynamoDB ValidationException heißt, die Anfrage wurde vor der Ausführung als fehlerhaft abgewiesen. Die häufigen Auslöser, die Meldung und die Fixes.
"Query condition missed key schema element" — DynamoDB Lösung
Query condition missed key schema element heißt, deiner KeyConditionExpression fehlt die Gleichheit auf dem Partition Key. Frag einen GSI ab oder scanne.
"The provided key element does not match the schema" — DynamoDB-Behebung
Diese ValidationException heißt, Name oder Typ eines Key-Attributs passt nicht zum KeySchema — fehlender Sort Key oder Zahl als String gesendet.
"Invalid UpdateExpression" Syntaxfehler — DynamoDB Fix
Eine Invalid UpdateExpression ist meist ein rohes reserviertes Wort oder ein fehlender #name- oder :value-Platzhalter. So liest und behebst du sie.
"ExpressionAttributeValues contains invalid value" — DynamoDB-Lösung
Diese ValidationException heißt, ein Wert in ExpressionAttributeValues ist leer, hat den falschen Typ oder ist ein nie definierter Platzhalter.
"Item size has exceeded the maximum allowed size" — DynamoDB beheben
DynamoDB-Items sind auf 400 KB begrenzt. Diese ValidationException heißt, dein Item liegt über dem Limit — so prüfst du die Größe und kommst wieder darunter.
DynamoDB ConditionalCheckFailedException — Ursachen & Lösung
ConditionalCheckFailedException heißt, deine ConditionExpression ergab false, also hat DynamoDB den Write abgewiesen und das Item unverändert gelassen.
DynamoDB TransactionCanceledException — Die Cancellation Reasons entschlüsseln
TransactionCanceledException heißt, ein Item scheiterte und die ganze Transaktion wurde zurückgerollt. Das CancellationReasons-Array nennt Item und Grund.
DynamoDB SerializationException — Ursachen & Lösung
SerializationException heißt, dein JSON passt nicht zum DynamoDB-Wire-Format — meist eine als String verpackte Zahl. Korrigiere die AttributeValue-Wrapper.
"Supplied AttributeValue is empty" — DynamoDB Lösung
Diese ValidationException heißt, ein AttributeValue hat keinen typisierten Wert — leeres Set, leerer Key-String, undefiniertes Feld. Weglassen oder setzen.
"One or more parameter values were invalid" — DynamoDB Lösung
Diese ValidationException heißt, ein Wert bricht eine DynamoDB-Regel — leeres Set, leerer Key-String oder Typkonflikt. Die Meldung nennt den Parameter.
"Invalid size for parameter" — DynamoDB Vector-Write-Lösung
DynamoDB weist einen Vektor-Write zurück, wenn die Dimensionsanzahl des Embeddings nicht zum Vektorindex passt. Die Meldung nennt das Attribut und beide Größen.
"Search vector contains invalid values" — DynamoDB Lösung
SearchVectors weist einen Query-Vektor zurück, der in DynamoDBs L-Typ steckt oder Nicht-Float-Werte trägt. Der Parameter ist ein nacktes JSON-Array, kein List-Attribut.
"SearchConditionExpression must be provided" — DynamoDB Lösung
Ein Vektorindex mit einem HASH-Search-Schema-Key verlangt, dass jeder SearchVectors-Call genau einen Partitionswert pinnt. Der Filter war ab der Index-Erstellung nicht mehr optional.
"Query key condition not supported" — DynamoDB Lösung
DynamoDB weist eine KeyConditionExpression ab, deren Operator das Schlüsselschema verbietet — Partition Keys nehmen nur Gleichheit. Hier die erlaubten.
"Attribute name is a reserved keyword" — DynamoDB Lösung
DynamoDB weist reservierte Wörter wie status, name oder size als rohe Attributnamen ab. Nutze einen ExpressionAttributeNames-Alias wie #status.
"Float types are not supported" — DynamoDB-boto3-Lösung
boto3 wirft TypeError "Float types are not supported", weil DynamoDB exakte Dezimalzahlen speichert. Konvertiere Floats per String-Form zu decimal.Decimal.
"Number overflow" — DynamoDB-Lösung für das Zahlengrößenlimit
Der N-Typ von DynamoDB fasst 38 Stellen Genauigkeit und Größenordnungen bis ~9.9E+125. Darüber speicherst du große IDs und präzise Werte besser als String.
"The provided expression refers to an attribute that does not exist" — Lösung
Deine UpdateExpression oder ConditionExpression zeigt auf einen fehlenden Pfad — fehlende Parent-Map, Tippfehler oder Rechnen auf einem fehlenden Attribut.
"Provided list of item keys contains duplicates" (BatchGetItem) — Lösung
DynamoDB weist ein BatchGetItem ab, wenn die Keys-Liste einen Primärschlüssel wiederholt. Der ganze Batch scheitert, dedupliziere die Keys vor dem Senden.
"Provided list of item keys contains duplicates" (BatchWriteItem) — Lösung
DynamoDB weist ein BatchWriteItem ab, wenn zwei Aktionen denselben Primärschlüssel treffen. Ein Batch fasst ein Item nur einmal an, fasse sie zusammen.
"Expression size has exceeded the maximum allowed size" (4 KB) — Lösung
DynamoDB begrenzt jeden Expression-String auf 4 KB. Eine FilterExpression, ConditionExpression oder UpdateExpression darüber wird abgewiesen. So kürzt du sie.
"Aggregated size of all range keys has exceeded the size limit" — Behebung
DynamoDB begrenzt Sort Keys auf 1024 Bytes, Partition Keys auf 2048 Bytes. Hier die Byte-Rechnung hinter dieser ValidationException und der Key-Fix.
"Filter Expression can only contain non-primary key attributes" — Lösung
DynamoDB weist eine FilterExpression ab, die Partition Key oder Sort Key nennt. Schlüssel gehören in die KeyConditionExpression — so baust du die Abfrage um.
DynamoDB BatchGetItem 100-Item-Limit — „Too Many Items“ beheben
BatchGetItem akzeptiert höchstens 100 Items (und 16 MB) pro Aufruf. Forderst du mehr, weist DynamoDB die ganze Anfrage ab. Das Limit und die Chunk-Schleife.
"Too many items requested for the BatchWriteItem call" — Lösung
BatchWriteItem akzeptiert höchstens 25 Put- oder Delete-Aktionen pro Aufruf. Sendest du mehr, weist DynamoDB die ganze Anfrage mit ValidationException ab.
DynamoDB "Can Not Use Both Expression and Non-Expression Parameters" — Lösung
DynamoDB weist Anfragen ab, die einen Legacy-Parameter wie KeyConditions mit KeyConditionExpression mischen. Lass ihn weg und nutze Expressions.
"Local secondary indexes must be specified at table creation" — Lösung
Ein Local Secondary Index lässt sich nur bei der Tabellenerstellung definieren, nie später. Warum die Einschränkung existiert und wie du sie umgehst.
DynamoDB TransactionCanceledException — ConditionalCheckFailed beheben
Bricht ein TransactWriteItems mit ConditionalCheckFailed ab, ist eine Item-Bedingung fehlgeschlagen und die Transaktion zurückgerollt. So findest du sie.
"Value provided in ExpressionAttributeNames unused in expressions" — Lösung
DynamoDB weist Anfragen ab, die einen ExpressionAttributeNames-Alias deklarieren, den keine Expression nutzt. Entferne ihn oder korrigiere die Expression.
"Value provided in ExpressionAttributeValues unused in expressions" — Lösung
DynamoDB weist eine Anfrage ab, deren ExpressionAttributeValues-Platzhalter keine Expression nutzt. Entferne den Wert oder korrigiere die Expression.
DynamoDB S3-Import fehlgeschlagen — Fix für ungültiges Format
DynamoDB Import aus S3 scheitert, wenn Objekte nicht zum deklarierten InputFormat oder zur Komprimierung passen oder Items den Primärschlüssel nicht haben.
"Size of hashkey has exceeded the maximum size limit of 2048 bytes" — Behebung
Ein DynamoDB Partition Key darf höchstens 2048 Bytes groß sein, ein Sort Key 1024 Bytes. Darüber wird der Write abgewiesen — so gestaltest du den Key neu.
DynamoDB GSI "Does Not Project" Attribut — Behebung
Ein GSI gibt nur Key-Attribute plus seine Projektion zurück, alles andere schlägt bei der Abfrage fehl. Ändere die Projektion oder die Anfrage — so geht es.
"Nesting Levels have exceeded supported limits" — DynamoDB 32-Ebenen-Lösung
DynamoDB begrenzt die Verschachtelung von Maps und Listen auf 32 Ebenen — tiefere Dokumente werfen "Nesting Levels have exceeded supported limits".
"Segment must be less than TotalSegments" — Parallel-Scan-Lösung
Ein paralleler Scan verlangt 0 ≤ Segment < TotalSegments, beide gemeinsam übergeben. Gib jedem Worker ein eigenes Segment von 0 bis TotalSegments − 1.
DynamoDB "Cannot Specify AttributesToGet When Select Is COUNT" — Lösung
DynamoDB weist Query oder Scan mit Select=COUNT plus ProjectionExpression oder AttributesToGet ab. COUNT gibt eine Zahl zurück — Projektion weglassen.
DynamoDB Streams "The ARN provided is invalid" — Lösung
DynamoDB Streams weist eine fehlerhafte oder Platzhalter-Stream-ARN wie /stream/latest ab. Übergib die echte LatestStreamArn aus DescribeTable unverändert.
"Transaction request cannot include multiple operations on one item" — Lösung
DynamoDB weist einen TransactWriteItems-Aufruf ab, wenn zwei Aktionen denselben Primärschlüssel treffen. Fasse Duplikate zusammen oder zieh eine heraus.
DynamoDB TransactWriteItems 100-Aktionen-Limit — Lösung
TransactWriteItems endet bei 100 Aktionen, darüber kommt eine ValidationException auf TransactItems. Teile auf oder nimm BatchWriteItem mit 25 pro Aufruf.
DynamoDB TTL-Attribut muss eine Zahl sein — Ursachen & Lösung
DynamoDB TTL löscht nur Items, deren TTL-Attribut eine Zahl in Unix-Epoch-Sekunden ist. String, Millisekunden oder fehlendes Attribut laufen nie ab.
DynamoDB "The expression can not be empty" — Lösung
DynamoDB weist einen als leeren String übergebenen Expression-Parameter ab. Lass FilterExpression oder UpdateExpression weg, wenn du nichts zu senden hast.
"ExpressionAttributeNames contains invalid key: Syntax error" — Lösung
DynamoDB weist eine ExpressionAttributeNames-Map ab, deren Platzhalter-Schlüssel die `#name`-Syntax bricht. Die Namensregel und wohin der echte Name gehört.
"Two document paths overlap with each other" (DynamoDB) — Lösung
DynamoDB weist eine UpdateExpression ab, die Parent-Pfad und darin verschachtelten Pfad setzt. Falte das Kind in den Parent oder teile in zwei Updates.
"The document path provided in the update expression is invalid" — Lösung
Ungültiger Document Path: Das Parent des verschachtelten Attributs fehlt oder ist keine Map. DynamoDB legt es nie automatisch an, erstell es zuerst.
"An operand in the update expression has an incorrect data type" — Lösung
Der Typ eines Update-Operanden passt nicht zum gespeicherten Attribut — ADD auf einer Nicht-Zahl, list_append auf einer Nicht-Liste, unpassende Set-Typen.
DynamoDB IdempotentParameterMismatchException — Ursachen & Lösung
TransactWriteItems weist einen Retry ab, der ein ClientRequestToken mit anderem Payload im 10-Minuten-Idempotenzfenster wiederverwendet. So behebst du es.
"Consistent reads are not supported on global secondary indexes" — Lösung
GSI-Query mit ConsistentRead true wirft eine ValidationException: GSIs liefern nur letztendlich konsistente Reads. Flag weglassen oder Basistabelle lesen.
DynamoDB DuplicateItemException (PartiQL INSERT) — Ursachen & Lösung
PartiQL INSERT scheitert mit DuplicateItemException, wenn der Primärschlüssel existiert. Anders als PutItem überschreibt es nie — nimm UPDATE oder PutItem.
"Unexpected from source" (DynamoDB PartiQL) — Lösung
PartiQL wirft "Unexpected from source", wenn ein Tabellenname mit Bindestrichen oder Sonderzeichen in FROM nicht in doppelten Anführungszeichen steht.
boto3 "Parameter validation failed" (ParamValidationError) — Lösung
botocore wirft ParamValidationError, bevor die Anfrage DynamoDB erreicht — meist Verwechslung von Client- und Resource-Typen. So liest und behebst du sie.
"The provided starting key is invalid" (DynamoDB) — Lösung
DynamoDB weist einen ExclusiveStartKey ab, der nicht zum Schlüsselschema von Tabelle oder Index passt. Gib LastEvaluatedKey unverändert zurück.

Durchsatz- und Drosselungsfehler (11)

DynamoDB ProvisionedThroughputExceededException — Ursachen & Lösung
DynamoDB wirft ProvisionedThroughputExceededException, wenn Reads oder Writes die provisionierte Kapazität der Tabelle oder eines GSI überschreiten.
DynamoDB ThrottlingException — Ursachen & Lösung
ThrottlingException heißt, deine Anfragerate überschritt ein Limit, oft bei Control-Plane-Aufrufen wie CreateTable. Wiederhole mit exponentiellem Backoff.
DynamoDB ItemCollectionSizeLimitExceededException — Ursachen & Behebung
Dieser Fehler trifft nur Tabellen mit einem Local Secondary Index — eine Item Collection (alle Items mit demselben Partition Key) hat 10 GB überschritten.
DynamoDB RequestLimitExceeded — Ursachen & Lösung
RequestLimitExceeded ist ein Ratelimit je Konto — On-Demand standardmäßig 40.000 Read und Write Request Units je Sekunde. Erhöhe es in Service Quotas.
DynamoDB TransactionConflictException — Ursachen & Lösung
TransactionConflictException heißt, eine andere Transaktion fasst dasselbe Item an. Vorübergehend — wiederhole mit Backoff und halte Transaktionen klein.
"Provisioned throughput decreases are limited within a given day" — Lösung
DynamoDB begrenzt, wie oft du die provisionierte Kapazität pro UTC-Tag senken kannst. Hier die Kontingent-Rechnung und die Wege um den UpdateTable-Fehler.
DynamoDB On-Demand Throughput Exceeded — Ursachen & Lösung
On-Demand-Tabellen drosseln trotzdem — ein konfigurierter Maximaldurchsatz, ein Anstieg über das Doppelte deines Peaks oder ein Tabellenkontingent.
DynamoDB trotz Kapazität gedrosselt — Lösung für heiße Partitionen
DynamoDB drosselt einen heißen Partition Key trotz freier Tabellenkapazität: jede physische Partition endet bei 3.000 RCU und 1.000 WCU. Hier die Lösung.
DynamoDB TransactionInProgressException — Ursachen & Lösung
Ein TransactWriteItems-Retry nutzte das ClientRequestToken eines noch laufenden Versuchs. Wiederhole mit Backoff und setz Timeouts über 5 Sekunden.
DynamoDB InternalServerError (HTTP 500) — Was zu tun ist
Ein HTTP 500 von DynamoDB ist ein vorübergehender serverseitiger Fehler, sicher zu wiederholen — doch ein gescheiterter Write kann angewendet worden sein.
DynamoDB ReplicatedWriteConflictException — Ursachen & Lösung
In einer regionsübergreifend stark konsistenten Global Table wird ein Write abgewiesen, wenn eine andere Region dasselbe Item ändert. Er ist wiederholbar.

Tabellen- und Ressourcenfehler (19)

DynamoDB ResourceNotFoundException — Ursachen & Lösung
ResourceNotFoundException heißt, Tabelle oder Index existiert in der aufgerufenen Region und im Konto nicht. Prüfe Name, Region und Anmeldedaten.
DynamoDB ResourceInUseException ("Table already exists") — Lösung
ResourceInUseException heißt, die Tabelle existiert schon oder ist noch CREATING, UPDATING oder DELETING. Prüf ihren Status vorab mit DescribeTable.
DynamoDB LimitExceededException — Ursachen & Behebung
LimitExceededException: zu viele gleichzeitige CreateTable-, UpdateTable- oder DeleteTable-Aufrufe oder ein erreichtes Kontolimit. So bleibst du darunter.
"The table does not have the specified index" — beheben
DynamoDB weist den Aufruf ab, weil der IndexName auf der Tabelle fehlt, falsch geschrieben oder der GSI noch nicht ACTIVE ist. So prüfst und behebst du es.
DynamoDB BackupNotFoundException — Ursachen & Lösung
DynamoDB BackupNotFoundException heißt, kein Backup passt zum BackupArn. Meist falscher ARN, gelöschtes oder abgelaufenes Backup, falsche Region.
DynamoDB ReplicaNotFoundException — Ursachen & Lösung
ReplicaNotFoundException heißt, die aktualisierte Region-Replica gehört nicht zur Global Table — falsche Region, entfernte Replica oder Race Condition.
"Attempting to modify a GSI that is being created" — Lösung
DynamoDB blockiert strukturelle Änderungen, solange ein Global Secondary Index aufbaut. Warte, bis IndexStatus ACTIVE erreicht, oder staffele die Änderungen.
DynamoDB ExportTableToPointInTime — PITR nicht aktiviert beheben
ExportTableToPointInTime braucht Point-in-Time Recovery auf der Quelltabelle, sonst wirft es PointInTimeRecoveryUnavailableException. Ein Befehl behebt es.
DynamoDB Global Table Version Mismatch — Ursachen & Lösung
Global Tables scheitern, wenn Replikate nicht passen — nicht-leere Tabellen, abweichende Key-Schemas oder GSIs, API-Versionen 2017 und 2019 gemischt.
DynamoDB LSI Item Collection 10-GB-Limit — Ursachen & Behebung
Tabellen mit einem Local Secondary Index begrenzen jede Item Collection auf 10 GB — darüber schlagen Writes fehl. Überwache ItemCollectionMetrics, re-sharde.
DynamoDB Cannot Access Stream — Lösung für "Stream Not Enabled"
Ein Consumer las den DynamoDB-Stream einer Tabelle ohne aktivierte Streams oder mit veralteter ARN. Aktiviere Streams und nimm die aktuelle LatestStreamArn.
DynamoDB TableAlreadyExistsException / "Table already exists" — Lösung
Restores werfen TableAlreadyExistsException, CreateTable und ImportTable melden ResourceInUseException. Der Zielname ist vergeben, wähle einen neuen.
DynamoDB Streams ExpiredIteratorException — Ursachen & Lösung
Ein DynamoDB-Streams-Shard-Iterator gilt 15 Minuten. Nutzt du ihn später, wirft GetRecords ExpiredIteratorException. So machst du ohne Datenverlust weiter.
DynamoDB Streams TrimmedDataAccessException — Ursachen & Lösung
Stream-Records leben 24 Stunden, ein älterer Checkpoint wirft TrimmedDataAccessException. Setz ab TRIM_HORIZON fort und gleiche die Lücke aus der Tabelle ab.
DynamoDB BackupInUseException — Ursachen & Lösung
DynamoDB BackupInUseException heißt, eine andere Backup-Operation auf derselben Tabelle läuft noch. Warte, bis sie fertig ist, und wiederhole den Aufruf.
DynamoDB InvalidRestoreTimeException — Ursachen & Fix
InvalidRestoreTimeException heißt, deine RestoreDateTime liegt außerhalb des PITR-Fensters von bis zu 35 Tagen. So wählst du eine gültige Zeit.
DynamoDB PointInTimeRecoveryUnavailableException — Lösung
Point-in-Time-Restore auf einer Tabelle, für die PITR nie aktiv war. Aktiviere jetzt kontinuierliche Backups und nutze für heute ein On-Demand-Backup.
DynamoDB GlobalTableNotFoundException — Ursachen & Lösung
GlobalTableNotFoundException heißt, die Legacy-Global-Table-APIs sehen deine Tabelle nicht — meist eine 2019.11.21-Global-Table, verwaltet über UpdateTable.
DynamoDB ReplicaAlreadyExistsException — Ursachen & Lösung
Du wolltest eine Replica-Region ergänzen, die schon zur DynamoDB Global Table gehört. Beschreibe erst die Replikationsgruppe, mach die Verwaltung idempotent.

Authentifizierungs- und Konfigurationsfehler (13)

"not authorized to perform dynamodb:..." — AccessDeniedException beheben
DynamoDB AccessDeniedException heißt, deine IAM-Identität darf die genannte Aktion nicht ausführen. So liest du die Meldung und korrigierst die IAM-Policy.
"ConfigError: Missing region in config" — DynamoDB-Lösung
Das AWS SDK konnte nicht ermitteln, an welche Region DynamoDB-Anfragen gehen. Setz sie am Client, über AWS_REGION oder in der AWS-Konfiguration.
"The security token included in the request is invalid" — DynamoDB Lösung
Diese UnrecognizedClientException heißt, deine AWS-Anmeldedaten sind falsch, abgelaufen oder werden nicht gefunden. So findest du heraus, welches davon.
DynamoDB IncompleteSignatureException — Ursachen & Fix
IncompleteSignatureException heißt, die SigV4-Signatur war fehlerhaft — meist selbstgebautes Signieren oder ein Proxy am Authorization-Header.
"The security token included in the request is expired" — DynamoDB Lösung
ExpiredTokenException heißt, deine temporären STS-, SSO- oder Assumed-Role-Anmeldedaten sind abgelaufen. Führ aws sso login aus, lösche AWS_SESSION_TOKEN.
"Unable to locate credentials" (boto3 / DynamoDB) — Lösung
boto3 wirft NoCredentialsError, wenn nichts in der Provider-Kette AWS-Anmeldedaten liefert — keine Umgebungsvariablen, kein Profil, keine Instanzrolle.
"The request signature we calculated does not match" — Lösung
DynamoDB gibt bei fehlgeschlagenem SigV4-Signieren InvalidSignatureException zurück, nicht SignatureDoesNotMatch. Meist falscher Secret Key oder Zeitversatz.
"Credential should be scoped to a valid region" — DynamoDB Lösung
Dieser SigV4-Fehler heißt, die Region im Credential-Scope passt nicht zur tatsächlich aufgerufenen Region. So bringst du Client- und Endpoint-Region zusammen.
"InvalidSignatureException: Signature expired" — DynamoDB beheben
DynamoDB weist eine Anfrage ab, deren signierter Zeitstempel mehr als fünf Minuten von der AWS-Serverzeit abweicht. Fast immer Uhrenversatz am Client.
"Missing Authentication Token" — DynamoDB-Fehlerbehebung
MissingAuthenticationTokenException von DynamoDB heißt: falsche Endpoint-URL, falscher Pfad oder eine unsignierte Anfrage. So behebst du jeden Fall.
"Could not load credentials from any providers" (DynamoDB) — Lösung
Das AWS SDK for JavaScript v3 wirft CredentialsProviderError, wenn die Credential-Chain leer ausgeht. Wie sich die Chain auflöst und die Lösung je Fall.
"The SSO session associated with this profile has expired" — Lösung
Ein abgelaufener IAM-Identity-Center-Token bricht AWS-CLI- und SDK-Aufrufe an DynamoDB. Führ aws sso login aus, leere sonst ~/.aws/sso/cache.
"The config profile could not be found" — Lösung für AWS CLI & boto3
Die AWS CLI und boto3 werfen ProfileNotFound, wenn das benannte Profil in ~/.aws/config fehlt. Die drei üblichen Ursachen und die Lösung für jede.

DynamoDB Local- und Einrichtungsfehler (8)

"Unable to start DynamoDB Local process" — Lösung
DynamoDB Local startet nicht — meist fehlende/inkompatible Java-Runtime, ein belegter Port oder ein falscher Installationspfad. So behebst du jeden Fall.
"Could not connect to DynamoDB Local" (ECONNREFUSED) — Lösung
ECONNREFUSED gegen DynamoDB Local heißt, nichts lauscht. Meist läuft der Emulator nicht, der Port stimmt nicht, oder das SDK trifft das echte AWS.
"Could not connect to the endpoint URL" (DynamoDB) — Lösung
botocore wirft EndpointConnectionError, wenn es DynamoDB nicht erreicht. Meist falsche Endpoint-URL, nicht laufendes DynamoDB Local oder falsche Region.
DynamoDB Local "Address already in use" (Port 8000) — Lösung
DynamoDB Local wirft java.net.BindException, wenn Port 8000 schon belegt ist. So findest du den Prozess, gibst den Port frei oder nimmst einen anderen.
DynamoDB Local "Failed to load native library sqlite4java" — Lösung
DynamoDB Local stirbt beim Start mit einem UnsatisfiedLinkError für sqlite4java — falscher java.library.path oder Apple-Silicon-Architektur-Mismatch.
"Unable to execute HTTP request" (DynamoDB, Java SDK) — Lösung
Das AWS SDK for Java wirft Unable to execute HTTP request, wenn es den Endpoint nicht erreicht. DynamoDB Local down, falscher Port oder Docker-Networking.
"Cannot do operations on a non-existent table" (DynamoDB Local) — Lösung
DynamoDB Local gibt jedem Credentials-/Region-Paar eine eigene Datenbank, darum kann eine erstellte Tabelle unsichtbar sein. Starte Local mit -sharedDb.
DynamoDB Local UnsupportedClassVersionError — Lösung
DynamoDB Local 2.6.0 und neuer braucht Java 17 oder höher. Auf einer älteren JRE lädt die JVM es nicht. Nimm ein aktuelles JDK oder das Docker-Image.

So werden diese verifiziert

Dokumentation paraphrasiert ihre eigene Implementierung, und die Paraphrase driftet ab. Jede Fehlermeldung, die auf diesen Seiten zitiert wird, entstand, indem der fehlschlagende Aufruf gegen den echten AWS-DynamoDB-Service ausgeführt und Zeichen für Zeichen festgehalten wurde, was zurückkam — nicht aus der AWS-Dokumentation abgeschrieben.

Nicht DynamoDB Local. Der Emulator ist bequem, aber AWS verspricht nirgends, dass er Fehler genauso formuliert wie der Service — und bei unserer Prüfung unterschied sich mehr als die Hälfte seiner Meldungen. Wo der Unterschied wissenswert ist, zeigt die Seite beide Varianten.

Bearbeitet sind nur die Teile, die deine Anfrage beschreiben statt den Fehler: der Tabellenname und die Kopie deines Payloads, die der Service zurückspiegelt. Ein Test lässt den Build scheitern, wenn eine Seite einen String zitiert, den der Service nie zurückgegeben hat — es gibt ihn, weil eine unserer eigenen Seiten monatelang eine erfundene Meldung zitierte, bevor jemand den Code ausführte.

58 Meldungen über 14 Exception-Typen: 55 gegen den Live-Service erfasst, 2 vom SDK abgewiesen, bevor eine Anfrage gesendet wurde, und 1, bei denen der Wortlaut von DynamoDB Local selbst das Thema ist. 6 enthalten einen Hinweis darauf, wie der Emulator denselben Fehler formuliert.

Live-Service
Amazon DynamoDB (live service, us-east-1)
Emulator (zum Vergleich)
DynamoDB Local (amazon/dynamodb-local)
JavaScript SDK
@aws-sdk/client-dynamodb 3.1096.0
Python SDK
boto3 1.43.81 on Python 3.14.7
Node.js
v24.20.0

Weitere DynamoDB-Ressourcen

Mit DynamoDB ohne die Console arbeiten

Ein schneller DynamoDB-Desktop-Client, der das echte SQL ausführt, das DynamoDB nicht kann — JOINs, GROUP BY, Aggregationen — mit visueller Bearbeitung und einem KI-Agenten auf deinen eigenen Bedrock-Schlüsseln.

30 Tage kostenlos testen, keine Kreditkarte — danach der Kostenlos-Tarif ohne Zeitlimit.