仅含分区键的DynamoDB表报Key element不匹配错误求助
问题:DynamoDB导入CSV数据时触发"Key element does not match the schema"错误
我使用的DynamoDB表仅配置了分区键,无排序键和索引,但在向表中添加CSV数据行时,始终收到Client错误**"Key element does not match the schema"**。明明只设置了一个分区键,且键元素uniqueKey看起来与表架构匹配,我对此完全困惑。
相关代码
以下是精简后的核心代码逻辑——通过循环读取CSV行数据并尝试与DynamoDB表交互:
if 'UNIQUE_KEY' in each and each['UNIQUE_KEY'] != 'null' and each['UNIQUE_KEY'] is not None and each['UNIQUE_KEY'] != '': dbObj['uniqueKey'] = str(each['UNIQUE_KEY']) print('<<uniqueKey>> ', dbObj['uniqueKey']) try: response = table.get_item( Key={ 'uniqueKey': dbObj['uniqueKey'] } ) print(response) except ClientError as e: print('error message') print(e.response['Error']['Message'])
表相关信息
- 表基本信息:表名为
user_events,仅设置分区键uniqueKey(类型为字符串),无排序键,表状态为活跃。 - CloudWatch日志验证:日志中输出了多个
<<uniqueKey>>的具体值(如78987654321、12345678901),确认分区键已成功从CSV中获取到有效值。 - 表实例化方式:通过boto3的
resource('dynamodb')接口获取表实例,指定的表名称为user_events。 - 表属性详情:分区键
uniqueKey类型为字符串,表采用按需读写容量模式。
内容的提问来源于stack exchange,提问作者Anthony Williams
相关产品推荐
相关产品推荐

