Вторичный индекс - 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))}});