Обзор. Я использую aws-sdk для javascript, чтобы получить 2 записи из моей таблицы "testTable". Я также предоставил значения для соответствующих клавиш.
Онлайн-справка: я выполнил документацию по адресу http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html#batchGet-property
var batchGetItem = function() {
var params = {
RequestItems: {
"testTable": {
Keys:[
{
"CaseID": "A1245",
"AssignedSupervisorName": "John"
},
{
"CaseID": "A1247",
"AssignedSupervisorName": "Bob"
}
]
}
}
};
docClient.batchGet(params, function(err, data) {
if (err) {
document.getElementById('textarea').innerHTML = "Unable to read item: " + "\n" + JSON.stringify(err, undefined, 2);
} else {
document.getElementById('textarea').innerHTML = "GetItem succeeded: " + "\n" + JSON.stringify(data, undefined, 2);
$scope.readData = data;
}
});
}
Значение данных поступает как:
{
"Responses":
{ "testTable": []
},
"UnprocessedKeys" : {}
}
Я ожидал, что 2 записи будут возвращены в "testTable", но он просто возвращает пустой массив.
Где я иду не так?
Я подозреваю, что ваша таблица не создана с помощью ключей, которые вы пытаетесь использовать внутри вашего JS-кода.
keys
внутри ваших params
должны содержать только ваш первичный ключ и ключ сортировки вашей таблицы dynamodb. Вы должны проверить, установлено ли AssignedSupervisorName
в качестве ключа сортировки таблицы.