Ошибка запроса AWS DynamoDB для между - PullRequest
0 голосов
/ 24 апреля 2018

Я хочу использовать запрос в моей AWS Lambda для фильтрации записей из DynamoDB. Я хочу получать записи, которые находятся между двумя числами. Моя база данных выглядит так:

Database Schema

А вот мои параметры для запроса:

var params = {
        TableName: "tableName",
        KeyConditions: {
            'date': {
                ComparisonOperator: "BETWEEN",
                AttributeValueList: [30, 100]
            }
        }
    };

    docClient.query(params, function(err, resp) {
        if (err) {
            _response = buildOutput(500, err);
            return callback(_response, null);
        }
        _response = buildOutput(200, resp);
        return callback(null, _response);
    });

Я получаю следующее сообщение об ошибке, но не знаю, чего не хватает в параметрах

response: {"message": "Условие запроса пропущено: элемент схемы ключа: id"

Заранее спасибо!

1 Ответ

0 голосов
/ 25 апреля 2018

Чтобы использовать Query API, вам нужно указать хеш-ключ в KeyConditions.Согласно определению вашей таблицы, похоже, что id является атрибутом ключа хеш-таблицы.Хэш-ключ является обязательным атрибутом для использования Query API.Для использования Query API вы должны указать значение хеш-ключа, т.е. Id.

Если вы не знаете хеш-ключ, вам может понадобиться использовать Scan API для получения данных.

Опять же, вы не можете использовать API запросов, не зная хеш-ключ таблицы.Даже создание индекса может не помочь, если вы не знаете хеш-ключ индекса.

API запросов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...