DynamoDB S3 importazione non riuscita: formato non valido
TL;DR — ImportTable è terminato con lo stato FAILED, FailureCode: ItemValidationError e il messaggio "Alcuni elementi non hanno superato i controlli di convalida e non sono stati importati." Gli oggetti di origine non corrispondono a InputFormat/InputCompressionType dichiarato oppure agli elementi manca la chiave primaria. Correggi il formato/compressione in modo che corrisponda agli oggetti, conferma che ogni elemento contiene la chiave ed esegui nuovamente l'importazione.
Cosa significa
"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 L'importazione da S3 convalida ciascun oggetto rispetto al formato e alla compressione dichiarati nella chiamata ImportTable: InputFormat (DYNAMODB_JSON, ION o CSV) e InputCompressionType (GZIP, ZSTD o NONE) hanno la precedenza sull'estensione del file. Se i byte non vengono analizzati come dichiarato o se a un elemento manca la chiave primaria della tabella, quell'elemento viene ignorato (l'importazione continua con l'elemento successivo) e il lavoro termina con "FAILED".
Perché succede
- Mancata corrispondenza del formato: hai specificato
DYNAMODB_JSONma gli oggetti sono in realtà CSV (o semplici JSON), quindi non viene analizzato nulla. - Mancata corrispondenza della compressione: gli oggetti sotto il prefisso vengono compressi in modo diverso (alcuni GZIP, altri NONE); devono usare tutti lo stesso.
- Compressione non supportata: sono consentiti solo
GZIP,ZSTDoNONE; altri codec falliscono. - Chiave primaria mancante: un elemento CSV/JSON non ha colonne/attributi corrispondenti alla chiave di partizione (o ordinamento) dichiarata: "Manca la chiave pk nell'elemento."
- Mancata corrispondenza del tipo di chiave: il tipo di chiave importata non corrisponde alle
AttributeDefinitionsdella tabella (ad esempio una chiave numerica importata come stringa). - Un oggetto non analizzabile sotto il prefisso: ogni oggetto che corrisponde al prefisso viene letto come dati, quindi un segnaposto vagante o un file non corretto non supera la convalida.
Come risolverlo
- Fai in modo che
InputFormatcorrisponda ai byte effettivi — File CSV →CSV, DynamoDB JSON →DYNAMODB_JSON, Amazon Ion →ION. - Fai in modo che ogni oggetto sotto il prefisso utilizzi la stessa compressione e imposta
InputCompressionTypein modo che corrisponda (GZIP/ZSTD/NONE). - Assicurati che ogni elemento abbia la chiave primaria: per CSV, includi la colonna chiave (e l'intestazione) con un nome che corrisponda al
KeySchemadichiarato. - Abbina i tipi di attributi chiave alle
AttributeDefinitionsdella tabella (S/N/B). - Leggere i log degli errori di CloudWatch in "/aws-dynamodb/imports", flusso di log "
/error", per il motivo esatto per elemento. - Mantieni solo oggetti dati analizzabili sotto il prefisso; caricare i dati tramite CLI/SDK anziché creare cartelle nella console.
Workbench DynoTable
Convalida i file di importazione prima del caricamento: esporta un elemento campione da DynoTable come DynamoDB JSON (⌘K → copia elemento) e conferma gli attributi chiave nel convertitore JSON. Controlla le dimensioni degli elementi con il calcolatore delle dimensioni degli elementi quando oggetti di grandi dimensioni causano errori di analisi.
Configura il profilo dell'account S3 in Impostazioni → Profili con Connessione di prova; cambia con ⌘P. Consulta Connetti a AWS e Installa.
Fonti
- Quote e convalida del formato di importazione (verificato il 13-07-2026)
- ImportTable - Riferimento Amazon DynamoDB API (verificato il 13-07-2026)
Errori correlati
- ResourceInUseException: il nome della tabella di destinazione dell'importazione esiste già.
- L'elemento chiave fornito non corrisponde allo schema: una mancata corrispondenza del tipo di chiave.
- Impara: DynamoDB JSON marshalling · Esporta DynamoDB in CSV
Riferimenti
- Quote e convalida del formato di importazione: Guida per sviluppatori Amazon DynamoDB
- Richiesta di importazione di una tabella in DynamoDB — Guida per sviluppatori di Amazon DynamoDB
- ImportTable - Riferimento Amazon DynamoDB API
Ultima verifica il 13-07-2026 rispetto alla documentazione ufficiale del AWS collegata sopra.