Vogels for DynamoDB 中带有索引字符串集的 ValidationException

ValidationException with Indexing stringSet in Vogels for 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'
    }]
});

但是,当我想创建这个 table 时,出现以下错误:

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。我删除它,然后它工作正常。

发生错误是因为您无法将 SET 数据类型与 Hash/Hash-Range 键一起使用。

只有字符串、数字和二进制数据类型可用于提示错误的键。

Documentation Link明确指出我们不能使用set。

希望对您有所帮助。