Это третья часть серии Serverless, готовой к эксплуатации.

В последнем блоге я рассказал о том, как и почему Инфраструктура как код. В этом сообщении блога мы обсудим, как автоматизировать создание таблицы DynamoDB для приложения ToDo, которое мы создаем.

Краткий обзор архитектуры

Приложение Todo - это приложение на основе CRUD, которое содержит DynamoDB в качестве серверной части.

Если вы новичок в DynamoDB, для начала вы можете использовать следующий пост в блоге.



Теперь приступим к созданию нашей инфраструктуры в SST с помощью AWS CDK, начиная с DynamoDB.

Создать стек

Вкратце, мы начали проект, используя шаблон SST, и более подробную информацию можно найти в стартовом посте серии.

Https://aws.plainenglish.io/getting-started-with-serverless-stack-fc871eba5357

Добавьте следующее в новый файл в stacks/StorageStack.js

Давайте быстро пройдемся по коду. Мы создали новый класс StorageStack, который будет использоваться для создания DynamoDB и S3.

Здесь я использую стек SST для создания DynamoDB с такими полями, как:

  1. userId: идентификатор пользователя, которому принадлежит ToDo.
  2. todoId: идентификатор задачи.

DynamoDB - это база данных документов типа "ключ-значение", и разработка ключа играет важную роль, и в этом случае я разработал ключ, поэтому я могу запрашивать таблицу как по пользователю, так и по ToDos.

Еще один интересный момент в коде: я раскрываю свойство таблицы:

table; // Public property which exposes Dynamodb for the other stacks like Lambda functions to access.

Таким образом, имя таблицы можно использовать для будущего доступа в проектах API.

Теперь добавим приложение в Index.js:

Разверните приложение

Теперь переключитесь на свой терминал и введите SST start, и это развернет приложение с таблицей в консоли AWS.

В следующем сообщении блога мы создадим API-шлюз и функции Lambda для операции CRUD.

Больше контента на plainenglish.io