Вторичный индекс - ValidationException: предоставленный начальный ключ недействителен

Я использую vogels в качестве объектного сопоставителя для моей DynamoDB, у меня есть модель vogels со следующей схемой:

Stock: {
   ID: String, (Hash)
   DateUTC: String (Secondary Index) 
 }

если я попытаюсь сделать:

const query = Stock.query('VOD.XLON');

и загрузить все предметы, так как у меня их около 5000:

query.loadAll();
query.exec((err, result) => {});

Я получаю ошибку:

ValidationException: предоставленный начальный ключ недействителен.

Есть ли что-то, что я делаю неправильно со своей стороны, или, может быть, vogels плохо работает с загрузкой всех элементов, имеющих вторичные индексы?

1 ответ

Решение

Я не мог повторить проблему. Тем не менее, приведенный ниже код прекрасно работает для вышеуказанной модели.

var Joi = require('joi');
var vogels = require('vogels');

var AWS = require("aws-sdk");
var creds = new AWS.Credentials('userid', 'password', 'session');

vogels.AWS.config.update({
    region: "us-west-2",
    endpoint: "http://localhost:8000",
    credentials: creds
});

var Stock = vogels.define('Stock', {
    hashKey: 'ID',

    schema: {
        ID: Joi.string(),
        DateUTC: Joi.string()
    },
    indexes: [{
        hashKey: 'DateUTC', name: 'stock_index', type: 'global'
    }],
    tableName: 'stock'
});

const query = Stock.query('1');
query.loadAll();
query.exec((err, result) => {if(!err) {console.log(JSON.stringify(result,undefined, 2))}});
Другие вопросы по тегам