我编写了以下使用DynamoDB的代码:
var qryItem = {
TableName: 'MyTable',
Key: {
UserId: {
S: '1234567'
}
}
};
dynamoDb.getItem(qryItem, function (error, data) {
console.log(data);
if(error){
console.log(error, error.stack);
}
});
表MyTable
具有以下属性:
我已成功执行scan
操作,但当我执行上述getItem
请求时,会返回以下错误:
ValidationException: The provided key element does not match the schema
非常感谢任何建议。
答案 0 :(得分:1)
所以是的,一如既往,在传递之前仔细阅读文档。
我在创建表时指定了“排序键”,并且在执行查询时必须将其传入,并且必须填充才能使验证模式全部清除。
所以我的查询参数应该:
var qryItem = {
TableName: 'MyTable',
Key: {
UserId: {
S: '1234567'
},
Name: {
S: 'John Citizen'
}
}
};