Почему batchGet не показывает никаких записей в ответе?

1

Обзор. Я использую 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", но он просто возвращает пустой массив.

Где я иду не так?

Теги:
amazon-web-services
aws-sdk

1 ответ

0

Я подозреваю, что ваша таблица не создана с помощью ключей, которые вы пытаетесь использовать внутри вашего JS-кода.

keys внутри ваших params должны содержать только ваш первичный ключ и ключ сортировки вашей таблицы dynamodb. Вы должны проверить, установлено ли AssignedSupervisorName в качестве ключа сортировки таблицы.

  • 0
    У меня есть ключ раздела и ключ сортировки. Я использовал функцию readItem, и я смог получить запись. но как-то пакетная операция ничего не возвращает

Ещё вопросы

Сообщество Overcoder
Наверх
Меню