Итак, мы реализовали шаблоны доступа во время создания и извлечения базовых элементов в мобильном приложении, таких как Пользователи и Фотографии. Мы также научились использовать инвертированный индекс для включения дополнительных шаблонов запросов по объектам.
В этом модуле мы реализуем два шаблона доступа:
- Реакция на фотографию (Запись)
- Подписка на друзей (Запись)
Обратите внимание, что оба эти шаблона доступа записывают данные в базу DynamoDB в отличие от шаблонов, предназначенных в основном для чтения, которые мы делали до сих пор.
Чтобы реализовать оба шаблона доступа в шагах, приведенных ниже, мы используем транзакции ACID базы данных DynamoDB. Транзакции DynamoDB выпущены в ноябре 2018 г. Давайте быстро ознакомимся с принципами работы транзакций в базе данных DynamoDB.
Транзакции часто используются в реляционных системах для проведения операций, которые одновременно затрагивают множество элементов данных. Допустим, вы управляете банком. Один клиент, Иван, переводит 100 USD другому клиенту, Анне. Для записи этой банковской транзакции вы использовали бы транзакцию базы данных, чтобы применить изменения к обоим счетам клиентов, а не только к одному.
Добавление транзакций DynamoDB упрощает создание приложений, которые изменяют несколько объектов за одну операцию. С помощью транзакций можно обработать до 10 объектов в одном запросе.
В вызове API TransactWriteItem можно использовать указанные ниже операции.
- Put – для вставки или перезаписи объекта.
- Update – для обновления существующего объекта.
- Delete – для удаления объекта.
- ConditionCheck – для проверки условия относительно существующего объекта без изменения этого объекта.
В следующих шагах мы используем транзакции DynamoDB двумя способами для обработки сложных операций.
Время, необходимое для прохождения модуля: 20 минут