DynamoDB:插入具有唯一GSI的新行

时间:2015-06-01 09:48:15

标签: amazon-web-services amazon-dynamodb

我正在使用DynamoDBMapper将新对象插入到我的表中。 表结构:

key: hash_key
attribute1: global sec index
other attributes

现在我希望attribute1的值在表中是唯一的。怎么做?

已经尝试过:

a. map.put("attribute1", new ExpectedAttributeValue(false));
b. map.put("atrribute1", new ExpectedAttributeValue().withExists(false));

我正在使用mapper.save()默认的SaveBehaviour。

2 个答案:

答案 0 :(得分:0)

你基本上不能用GSI做到这一点。 该指数并未说明唯一性。它只是对表进行索引,以便根据该属性进行更快的查找

另见: DynamoDB key uniqueness across primary and global secondary index

答案 1 :(得分:0)

如果您希望对不是主键的属性强制执行唯一性,我建议您查看此post.