DynamoDB - Что происходит, когда я удаляю объект в GSI?Это "Каскад" к основному столу? - PullRequest
2 голосов
/ 03 мая 2019

Допустим, в моей главной таблице есть объекты, которые имеют следующий шаблон:

Partition Key = user_user@email.com
Range Key = project_001
Role = owner

Это простой объект, который говорит, какова роль конкретного пользователя в конкретном проекте.

Но затем я хочу получить все пользовательские роли в проекте, поэтому я создал GSI, который инвертирует порядок клавиш с помощью Range Key Begins With "user_"

Partition Key = project_001
Range Key = user_user@email.com
Role = owner

Но что происходит, когда я удаляю объект в этом GSI? Будет ли он удалить соответствующий объект, который он реплицировал из основной таблицы? Или мне нужно их синхронизировать вручную?

1 Ответ

3 голосов
/ 03 мая 2019

Вы не можете удалить через GSI.

DeleteItem () принимает только имя таблицы.

Это будет каскад до GSI.

...