AWS Удалить элементы не по первичному ключу - PullRequest
0 голосов
/ 10 октября 2019

У меня есть проблема, и я не знаю, как ее спросить

У меня есть такие таблицы

user table
-----------------------------------
UID (primary key) | name (another key)
-----------------------------------
a1c8d3            | Hugo
f9e2d7            | Thomas
s2c9d4            | Damien
metadata table
-----------------------------------
MID (primary key) | UID (another key)
-----------------------------------
c3d9d3            | a1c8d3
d8f1e6            | a1c8d3
d3j5c2            | f9e2d7

У меня есть функция, чтобы получить всеUID моей пользовательской таблицы, они хранятся в массиве

Когда я удаляю пользователей этого массива, я хочу удалить элементы в моей таблице метаданных, которые имеют тот же UID, что и мои удаленные пользователи

Можно ли удалить элементы из моей таблицы метаданных без использования первичного ключа (здесь, MID)?

Или мне нужно было присвоить UID моей таблицы метаданных глобальный вторичный индекс? Если да, то как я могу это сделать?

Заранее спасибо

С уважением

1 Ответ

2 голосов
/ 10 октября 2019

Нет.

Для функции DeleteItem () требуется первичный ключ для таблицы ( документы )

Вам потребуется запросить таблицу метаданных и удалить строкис соответствующим UID.

Если у вас его еще нет, я бы порекомендовал глобальный вторичный индекс с ключом хеша = ключом сортировки UID = MID

Затем запрос (GSI, хэш= UID) при использовании данных вашего примера вернет две строки. Затем вы должны вызывать DeleteItem (Table, HashKey = MID) для каждой возвращаемой строки.

Или еще лучше собрать оба удаления и отправить один раз как BatchWriteItem ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...