Это третья часть серии 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 с такими полями, как:
- userId: идентификатор пользователя, которому принадлежит ToDo.
- 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