DynamoDB S3 import failed — invalid format
TL;DR — ImportTable endete mit Status FAILED, FailureCode: ItemValidationError und der Meldung "Some of the items failed validation checks and were not imported." Die Quellobjekte passen nicht zu dem InputFormat/InputCompressionType, den du angegeben hast, oder den Items fehlt der Primärschlüssel. Korrigiere Format/Kompression passend zu den Objekten, stell sicher, dass jedes Item den Schlüssel trägt, und starte den Import erneut.
Was es bedeutet
"FailureCode": "ItemValidationError",
"FailureMessage": "Some of the items failed validation checks and were not
imported. Please check CloudWatch error logs for more details."
# In /aws-dynamodb/imports CloudWatch logs:
ValidationException: One or more parameter values were invalid: Missing the key pk in the itemDynamoDB Import aus S3 validiert jedes Objekt gegen das Format und die Komprimierung, die du im ImportTable-Aufruf deklariert hast — das InputFormat (DYNAMODB_JSON, ION oder CSV) und der InputCompressionType (GZIP, ZSTD oder NONE) haben Vorrang vor der Dateiendung. Wenn die Bytes nicht wie deklariert parsen oder einem Item der Primärschlüssel der Tabelle fehlt, wird dieses Item übersprungen (der Import fährt mit dem nächsten Item fort) und der Job endet FAILED.
Warum es passiert
- Format-Mismatch — du hast
DYNAMODB_JSONangegeben, aber die Objekte sind eigentlich CSV (oder reines JSON), sodass nichts parst. - Komprimierungs-Mismatch — Objekte unter dem Präfix sind unterschiedlich komprimiert (einige GZIP, einige NONE); sie müssen alle dieselbe verwenden.
- Nicht unterstützte Komprimierung — nur
GZIP,ZSTDoderNONEsind erlaubt; andere Codecs schlagen fehl. - Fehlender Primärschlüssel — ein CSV-/JSON-Item hat keine Spalte/kein Attribut, das zum deklarierten Partition- (oder Sort-) Key passt: „Missing the key pk in the item."
- Typ-Mismatch beim Schlüssel — der Typ des importierten Schlüssels passt nicht zu den
AttributeDefinitionsder Tabelle (z. B. ein numerischer Schlüssel als String importiert). - Ein nicht parsbares Objekt unter dem Präfix — jedes Objekt, das zum Präfix passt, wird als Daten gelesen, sodass ein verirrter Platzhalter oder eine fehlerhafte Datei die Validierung nicht besteht.
So behebst du es
- Lass
InputFormatzu den tatsächlichen Bytes passen — CSV-Dateien →CSV, DynamoDB JSON →DYNAMODB_JSON, Amazon Ion →ION. - Sorge dafür, dass jedes Objekt unter dem Präfix dieselbe Komprimierung verwendet, und setze
InputCompressionTypepassend (GZIP/ZSTD/NONE). - Stelle sicher, dass jedes Item den Primärschlüssel hat — für CSV die Schlüsselspalte (und Header) mit einem Namen, der zum deklarierten
KeySchemapasst. - Gleiche die Typen der Schlüsselattribute an die
AttributeDefinitionsder Tabelle an (S/N/B). - Lies die CloudWatch-Fehlerprotokolle unter
/aws-dynamodb/imports, Log-Stream<import-id>/error, für den genauen Grund pro Item. - Behalte nur parsbare Datenobjekte unter dem Präfix; lade Daten über CLI/SDK hoch, statt Ordner in der Konsole zu erstellen.
Baust du die Importdatei aus bestehenden Daten? Die DynoTable Desktop-App exportiert und previewt DynamoDB JSON, sodass du das Format und das Vorhandensein des Primärschlüssels verifizieren kannst, bevor du Objekte nach S3 pushst.
DynoTable-Workbench
Validate import Dateien auf before upload — export a sample item from DynoTable as DynamoDB JSON (⌘K → copy item) and confirm key attributes in the JSON Converter. Check item sizes with the Item-Size-Rechner when large objects cause parse failures.
Configure the S3 account profile under Einstellungen → Profile with Verbindung testen; switch with ⌘P. Siehe Mit AWS verbinden und Installation.
Quellen
- Import format quotas and validation (verifiziert 2026-07-13)
- ImportTable — Amazon DynamoDB API Reference (verifiziert 2026-07-13)
Verwandte Fehler
- ResourceInUseException — der Name der Import-Zieltabelle existiert bereits.
- The provided key element does not match the schema — ein Typ-Mismatch beim Schlüssel.
- Learn: DynamoDB-JSON-Marshalling · DynamoDB nach CSV exportieren
Referenzen
- Import format quotas and validation — Amazon DynamoDB Developer Guide
- Requesting a table import in DynamoDB — Amazon DynamoDB Developer Guide
- ImportTable — Amazon DynamoDB API Reference
Zuletzt verifiziert am 2026-07-13 gegen die oben verlinkte offizielle AWS-Dokumentation.