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 могут быть использованы для ключей, что указывает на ошибку.

Документация Ссылка четко упомянуть, что мы не можем использовать множество.

Надеюсь, это поможет.

Другие вопросы по тегам