DynamoDB S3 error de importación: formato no válido
TL;DR: ImportTable terminó con el estado FAILED, FailureCode: ItemValidationError y el mensaje "Algunos de los elementos no superaron las comprobaciones de validación y no se importaron". Los objetos de origen no coinciden con el InputFormat/InputCompressionType que declaró, o a los elementos les falta la clave principal. Corrija el formato/compresión para que coincida con los objetos, confirme que cada elemento tenga la clave y vuelva a ejecutar la importación.
Qué 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 itemLa importación de DynamoDB desde S3 valida cada objeto contra el formato y la compresión que declaraste en la llamada a ImportTable — el InputFormat (DYNAMODB_JSON, ION o CSV) y el InputCompressionType (GZIP, ZSTD o NONE) tienen prioridad sobre la extensión del archivo. Si los bytes no se interpretan según lo declarado, o a un Item le falta la clave primaria de la tabla, ese Item se omite (la importación continúa con el siguiente Item) y el trabajo termina en FAILED.
Por qué ocurre
- Desajuste de formato — especificaste
DYNAMODB_JSONpero los objetos son en realidad CSV (o JSON plano), así que nada se interpreta. - Desajuste de compresión — los objetos bajo el prefijo están comprimidos de forma distinta (algunos GZIP, algunos NONE); todos deben usar la misma.
- Compresión no admitida — solo se permiten
GZIP,ZSTDoNONE; otros códecs fallan. - Clave primaria faltante — un Item CSV/JSON no tiene columna/atributo que coincida con la clave de partición (o de ordenación) declarada: "Missing the key pk in the item."
- Desajuste de tipo de clave — el tipo de la clave importada no coincide con los
AttributeDefinitionsde la tabla (p. ej. una clave numérica importada como cadena). - Un objeto no interpretable bajo el prefijo — cada objeto que coincida con el prefijo se lee como datos, así que un placeholder perdido o un archivo malformado falla la validación.
Cómo solucionarlo
- Haz que
InputFormatcoincida con los bytes reales — archivos CSV →CSV, DynamoDB JSON →DYNAMODB_JSON, Amazon Ion →ION. - Haz que cada objeto bajo el prefijo use la misma compresión, y establece
InputCompressionTypepara que coincida (GZIP/ZSTD/NONE). - Asegúrate de que cada Item tenga la clave primaria — para CSV, incluye la columna de clave (y la cabecera) con un nombre que coincida con el
KeySchemadeclarado. - Haz coincidir los tipos de atributo de clave con los
AttributeDefinitionsde la tabla (S/N/B). - Lee los logs de error de CloudWatch en
/aws-dynamodb/imports, log stream<import-id>/error, para el motivo exacto por Item. - Mantén bajo el prefijo solo objetos de datos interpretables; sube los datos mediante CLI/SDK en lugar de crear carpetas en la consola.
Workbench de DynoTable
Valida los archivos de importación antes de subirlos — exporta un Item de muestra desde DynoTable como DynamoDB JSON (⌘K → copiar Item) y confirma los atributos de clave en el conversor de JSON. Comprueba los tamaños de Item con la calculadora de tamaño de Item cuando los objetos grandes provoquen fallos de parseo.
Configura el perfil de la cuenta de S3 en Ajustes → Perfiles con Test Connection; cambia de perfil con ⌘P. Consulta Conectar a AWS e Instalar.
Fuentes
- Import format quotas and validation (verificado 2026-07-13)
- ImportTable — Amazon DynamoDB API Reference (verificado 2026-07-13)
Errores relacionados
- ResourceInUseException — el nombre de la tabla de destino de la importación ya existe.
- The provided key element does not match the schema — un desajuste de tipo de clave.
- Aprende: Marshalado de DynamoDB JSON · Exportar DynamoDB a CSV
Referencias
- Import format quotas and validation — Amazon DynamoDB Developer Guide
- Requesting a table import in DynamoDB — Amazon DynamoDB Developer Guide
- ImportTable — Amazon DynamoDB API Reference
Verificado por última vez el 2026-07-13 contra la documentación oficial de AWS enlazada arriba.