python - DynamoDB : The provided key element does not match the schema

标签 python amazon-web-services amazon-dynamodb boto

有没有办法根据不是哈希键的字段来获取项目?

例子

我的表用户:id (HashKey)、姓名、电子邮件

我想检索电子邮件为“test@mail.com”的用户

如何做到这一点?

我用 boto 试试这个:

user = users.get_item(email='john.doe@gmail.com')

我收到以下错误:

'The provided key element does not match the schema'

最佳答案

以下内容适用于 AWS Lambda 环境中的 Node.js AWS 开发工具包:

这对我来说是一个艰难的过程。我在尝试使用 getItem 方法时遇到了这个问题。无论我尝试什么,我都会继续收到此错误。我终于在AWS论坛上找到了解决办法:https://forums.aws.amazon.com/thread.jspa?threadID=208820

莫名其妙地,明显的解决方案与我能找到的所有 AWS 文档冲突。

这是对我有用的代码:

var doc = require('dynamodb-doc');
var dynamo = new doc.DynamoDB();

var params = { }
params.TableName = "ExampleTable";
var key = { "ExampleHashKey": "1" };
params.Key = key;

dynamo.getItem(params, function(err, data) {
    if (err)
        console.log(err);
    else
        console.log(data)
});

关于python - DynamoDB : The provided key element does not match the schema,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25886403/

相关文章:

linux - 有人在 Raspberry pi 3(ARM) 上正确安装了 aws-cli v2(x86_64; zipped) 吗?

amazon-dynamodb - 使用 DynamoDB/Vogels 的数据版本控制策略

node.js - DynamoDB 在过去 24 小时内缩减规模?

Python:找到一种计算多边形的 "inner centroid"(X,Y)的方法

python - 如何打开一堆文件(使用上下文管理)而不嵌套一堆缩进

python - 陈旧元素引用异常

amazon-web-services - 连接被拒绝 : Server unavailable in Solace broker even after increase the Connection Scaling Tier

python - 在 Python 中操作网站下拉菜单

json - 达到 AWS Eventbridge json 负载的最大字符长度

json - 如何在 DynamoDB 中更新嵌套的 JSON 文件