DynamoDB S3 import failed — invalid format
TL;DR — ImportTable 以状态 FAILED、FailureCode: ItemValidationError 和消息 "Some of the items failed validation checks and were not imported." 结束。源对象与你声明的 InputFormat/InputCompressionType 不匹配,或者项目缺失主键。修正格式/压缩使之与对象匹配,确认每个项目都带有键,然后重新运行导入。
含义
"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 从 S3 导入会根据你在 ImportTable 调用中声明的格式和压缩来验证每个对象——InputFormat(DYNAMODB_JSON、ION 或 CSV)和 InputCompressionType(GZIP、ZSTD 或 NONE)优先于文件扩展名。如果字节无法按声明解析,或者某个项目缺少表的主键,那个项目会被跳过(导入继续处理下一个项目),而作业以 FAILED 结束。
为什么会发生
- 格式不匹配——你指定了
DYNAMODB_JSON,但对象实际上是 CSV(或普通 JSON),因此什么都解析不了。 - 压缩不匹配——前缀下的对象压缩方式不同(有些 GZIP,有些 NONE);它们必须全部使用同一种。
- 不受支持的压缩——只允许
GZIP、ZSTD或NONE;其他编解码器会失败。 - 缺失主键——一个 CSV/JSON 项目没有与声明的分区(或排序)键匹配的列/属性:"Missing the key pk in the item."
- 键类型不匹配——导入的键类型与表的
AttributeDefinitions不匹配(例如一个数字键被当作字符串导入)。 - 前缀下有一个无法解析的对象——匹配该前缀的每个对象都被当作数据读取,因此一个杂散的占位符或格式错误的文件会验证失败。
如何修复
- 让
InputFormat与实际字节匹配——CSV 文件 →CSV,DynamoDB JSON →DYNAMODB_JSON,Amazon Ion →ION。 - 让前缀下的每个对象使用相同的压缩,并设置
InputCompressionType与之匹配(GZIP/ZSTD/NONE)。 - 确保每个项目都有主键——对于 CSV,包含名称与声明的
KeySchema匹配的键列(及表头)。 - 让键属性类型与表的
AttributeDefinitions匹配(S/N/B)。 - 阅读 CloudWatch 错误日志,位于
/aws-dynamodb/imports,日志流<import-id>/error,获取确切的逐项目原因。 - 在前缀下只保留可解析的数据对象;通过 CLI/SDK 上传数据,而不是在控制台中创建文件夹。
在从现有数据构建导入文件?DynoTable 桌面应用会导出并预览 DynamoDB JSON,让你在把对象推送到 S3 之前核实格式以及主键是否存在。
DynoTable 工作台
上传前验证导入文件 - 从DynoTable导出示例项目为DynamoDBJSON(⌘K→复制项目)并确认JSON converter中的关键属性。当大对象导致解析失败时,使用 item size calculator 检查项目大小。在“设置”→“配置文件”下使用Test Connection配置 S3 帐户配置文件;用 ⌘P 切换。参见连接 AWS和安装。
来源
- Import format quotas and validation(2026-07-13 验证)
- ImportTable — Amazon DynamoDB API Reference(2026-07-13 验证)
相关错误
- ResourceInUseException——导入目标表名已经存在。
- The provided key element does not match the schema——一个键类型不匹配。
- 学习:DynamoDB JSON marshalling · Export DynamoDB to CSV
参考资料
- Import format quotas and validation — Amazon DynamoDB Developer Guide
- Requesting a table import in DynamoDB — Amazon DynamoDB Developer Guide
- ImportTable — Amazon DynamoDB API Reference
最后核实于 2026-07-13,依据上方链接的 AWS 官方文档。