2015-06-01 4 views
0

Я использую DynamoDBMapper для вставки нового объекта в свою таблицу. Структура таблицы:DynamoDB: Вставьте новую строку с уникальным GSI

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.

ответ

0

вы в принципе не можете сделать это с помощью GSI. В индексе ничего не говорится об уникальности. Она просто индексирует таблицу для более быстрого поиска на основе этого атрибута

также смотрите: DynamoDB key uniqueness across primary and global secondary index

0

Если вы хотите, чтобы обеспечить уникальность по атрибуту, что это не является первичным ключом, я рекомендовал бы взглянуть на это post.

Смежные вопросы