DynamoDB复合主键能否混用不同数据类型?导入时遇类型不匹配错误
DynamoDB复合主键类型不匹配错误解析
首先明确:DynamoDB完全支持不同数据类型的分区键和排序键组成复合主键,你遇到的错误和“不同类型键组合”无关,问题出在表定义与导入数据的类型不匹配上。
错误原因
你创建表时,把排序键trail_id的类型定义成了字符串(S),但S3存储的JSON数据里,trail_id的值是数字类型(N)。DynamoDB对主键字段有严格的类型校验:实际写入的数据类型必须和表结构定义的类型完全一致,一旦不匹配就会抛出Type mismatch错误。
解决方向
- 调整表结构:将
trail_id的类型改为数字(N),和导入数据的类型对齐; - 调整导入数据:把S3 JSON里的
trail_id值转换成字符串格式(比如把123改成"123"),匹配表定义的类型。
内容的提问来源于stack exchange,提问作者Sachin Rathod
相关产品推荐
相关产品推荐

