gpt4 book ai didi

amazon-web-services - ValidationException:提供的键元素与架构不匹配

转载 作者:行者123 更新时间:2023-12-04 01:16:40 25 4
gpt4 key购买 nike

我在DynamoDB中创建了一个表'user_info',该表具有一个主哈希键'user_id'(String),没有范围键。然后,我创建了2个AWS lambda函数来插入和查询项目。我可以在表中插入项目,但是当我查询表时,它返回:


ValidationException:提供的键元素与
模式。


我的查询功能:

var params = {
Key: {
user_id:{
S: "usr1@s.com"
}
},
TableName: 'user_info',
ProjectionExpression: 'password'
};

dynamodb.getItem(params,
function(err, data) {
if (err) {
console.log("get item err." + err);
context.done('error','getting item from dynamodb failed: '+err);
}
else {
console.log('great success: '+JSON.stringify(data, null, ' '));
context.succeed('created user ' + event.user_id + ' successfully.');
}
});


我不断收到此异常:

ValidationException: The provided key element does not match the schema


以来

1)我只有一个哈希主键。

2)user_id被定义为String。我真的不知道为什么会出现不匹配错误。

最佳答案

为了进一步说明这种情况的发生原因,您最初使用的是DynamoDB Document Client,它不需要将属性显式标记为“字符串”(S)或“数字”(N)等。因此,您的原始代码将具有与...合作

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

var params = {
Key: {
user_id: "usr1@s.com"
},
TableName: 'user_info',
ProjectionExpression: 'password'
};


注意,包裹“ user_id”值的“ S”已从上述代码中删除。稍后,您通过使用“ aws-sdk”切换回低级javascript sdk,因此带有“ S”标签的代码最终可以正常工作。

关于amazon-web-services - ValidationException:提供的键元素与架构不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31889891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com