Как вернуть, что атрибут не существует при попытке УДАЛИТЬ с update_item - Boto3 / DynamoDB - PullRequest
0 голосов
/ 21 октября 2019

В первый раз, когда я пытаюсь удалить существующий вложенный атрибут top_level_attribute.nested_attribute, он работает нормально: атрибут удаляется и возвращается мой счастливый путь, сгенерированный Python Chalice. Во второй раз, когда я пытаюсь это сделать, все работает нормально ... и в этом проблема. Поскольку сетевое взаимодействие работает должным образом, и DynamoDB не выдает ошибку, мои пользователи не будут знать, действительно ли они удалили атрибут или не было атрибута с соответствующим ключом. Это ожидаемое поведение DynamoDB.

Как узнать, что не было ключа, совпадающего с этим вложенным атрибутом?

Что я пробовал:

Первое: получить длину top_level_attribute и сохранить ее.

Затем: удалите top_level_attribute.nested_attribute.

Наконец: получите длину top_level_attribute и сравните ее с ранее сохраненной длиной.

Однако для этого требуется три запроса. Слишком медленно для наших целей.

Кто-нибудь может предложить другой метод?

...