因此,我一直在尝试使用 batchGetItem 从 DynamoDB 表中检索代码列表
我尝试使用标准方法完成我的任务,该方法几乎包括使用 AWS 文档中提供的基本代码,如下所示:
let AWS = require('aws-sdk');
AWS.config.update({
"region": "us-west-2",
"endpoint": "https://dynamodb.us-west-2.amazonaws.com",
"accessKeyId": "my acess key here",
"secretAccessKey": "my secret access key"
});
var dynamoClient = new AWS.DynamoDB.DocumentClient();
var params = {
"RequestItems": {
"questions_and_answers": {
"Keys": [
{
"codcategory": "10"
}
]
}
}
}
var dynamoBatchGetPromise = dynamoClient.batchGetItem(params).promise();
dynamoBatchGetPromise.then(function (data) {
console.log("data resp: " + JSON.stringify(data));
});
。这就是我得到的输出:
"(节点:3744( 未处理的承诺拒绝警告:验证异常:提供的键元素与架构不匹配">
好吧,由于"codcategory"是表"questions_and_answers"的实际主分区键,并且我想从此表中检索codcategory = 10的所有记录,因此我必须问;
我的代码有什么问题?
任何帮助我将不胜感激。提前谢谢。
好吧,在对文档进行了更多挖掘之后,似乎问题是我必须同时提供分区键和哈希键作为参数,如下所示:
Keys: [
{
codcategory: {N:"10"},
cod: {N:"2000"}
}
]
嗯,就是这样。希望这能帮助其他有需要的人。