ValidationException с индексированием stringSet в Vogels для DynamoDB
Вот мое определение модели:
var Notification = vogels.define('Notification', {
tableName: 'notification',
hashKey: 'notification_id',
rangeKey: 'createdAt',
timestamps: true,
schema: {
notification_id : vogels.types.uuid(),
badge: joi.number().integer(),
delay: joi.number(),
action: joi.string(),
body: joi.string(),
tags: vogels.types.stringSet()
},
indexes: [{
hashKey : 'tags',
rangeKey: 'createdAt',
name : 'TagsIndex',
type : 'global'
}]
});
Однако, когда я хочу создать эту таблицу, я получаю следующую ошибку:
Error creating tables: { [ValidationException: Member must satisfy enum value set: [B, N, S]]
message: 'Member must satisfy enum value set: [B, N, S]',
code: 'ValidationException',
time: Thu May 12 2016 14:06:44 GMT-0700 (PDT),
requestId: 'c775c989-c723-4d55-b319-731230a5991b',
statusCode: 400,
retryable: false,
retryDelay: 0 }
Проблема с index
, Я удаляю это, тогда это прекрасно работает.
1 ответ
Решение
Ошибка произошла, потому что вы не можете использовать тип данных SET с ключами Hash/Hash-Range.
Только ключи типа String, Number и Binary могут быть использованы для ключей, что указывает на ошибку.
Документация Ссылка четко упомянуть, что мы не можем использовать множество.
Надеюсь, это поможет.