DynamoDB:提供的键元素与架构不匹配

user1635536:

有没有一种方法可以根据不是hashkey的字段来获取项目?

我的表格用户: id (HashKey), name, email

我想检索电子邮件为“ [email protected]”的用户

如何做到这一点?

我尝试使用boto:

user = users.get_item(email='[email protected]')

我收到以下错误:

'The provided key element does not match the schema'
沃尔夫韦德:

要查询不是哈希键的字段,您需要使用全局二级索引(GSI)。请查看此AWS Post,以获取有关GSI的更多详细信息。

2015年2月更新:现在可以将GSI添加到现有表中。有关更多详细信息,请参阅Amazon Docs

遗憾的是,您无法将GSI添加到现有DynamoDB表中,因此,如果您确实需要查询该表,则需要创建一个新表并移植数据。

DynamoDB常见问题解答

问:如何为DynamoDB表创建全局二级索引?

与表关联的所有GSI必须在表创建时指定。目前,在创建表格后无法添加GSI。有关创建表及其索引的详细步骤,请参见此处每个表最多可以创建5个全局二级索引

如果您不想移植数据,则可以考虑使用电子邮件作为哈希键和父记录的哈希表创建第二个DynamoDB表,以用作对主数据表的查找,但是您可以想象这不是完全是一个最佳解决方案,并且它自身也很难与主表保持同步。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从DynamoDB获取项目时出现“提供的关键元素与架构不匹配”错误

DynamoDB-关键元素与架构不匹配

Vim键映射不匹配

条件参数类型与架构类型不匹配

处理Spark中的架构不匹配

NoReverseMatch与键参数不匹配

提供的键元素与架构不匹配-updateItem

DynamoDB BatchGetItem:提供的密钥不匹配?

BatchWriteItem操作:提供的键元素与架构不匹配

dynamodb“ GetItem操作:找不到请求的资源” /“提供的关键元素与架构不匹配”

deleteItem-提供的关键元素与模式(Node.js)不匹配

外键不匹配

处理器架构之间不匹配

在DynamoDB中使用排序键时出现“索引键的类型不匹配”

DynamoDB和Android:提供的key元素与架构不匹配

T-sql,从键列表中查找不匹配的元素

未能加载数据项:{“消息”:“提供的关键元素与架构不匹配”,“代码”:

获取条件与架构不匹配

ValidationException:“提供的关键元素与架构不匹配”执行 dynmoDB batchWriteItem 操作时出错

架构不匹配

AppSync DynamoDb,前提是关键元素与架构不匹配

“提供的关键元素与架构不匹配”DynamoDB (boto3) 错误

错误:查询架构与表架构不匹配。QuerySchema=('long')

Sqlite 外键不匹配?

AWS DynamoDB DocumentClient 查询错误 - 一个或多个参数值无效:条件参数类型与架构类型不匹配

dynamo get ValidationException 中的无服务器错误:提供的关键元素与架构不匹配

带有复合键的 DynamoDB 架构设计

DynamoDB ValidationException 提供的关键元素与架构不匹配

在 dynamodb 表上使用 put_item 时收到错误“提供的关键元素与架构不匹配”