Я стремлюсь создать полностью безсерверное решение AWS с использованием AWS API Gateway, который будет иметь конечные точки, которые будут интегрированы с функцией Lambda, которая будет взаимодействовать с простым сторонним веб-API с запросами http и, кроме того, безбидерной БД некоторого видачтобы сохранить данные.
Ниже приведен пример того, что я хочу сделать:
GET: лямбда-функция my-api-gateway-products / 1/1 будет знать, что этоGET для продуктов и параметр равен 1, поэтому он запустит соответствующую функцию, чтобы запросить мою базу данных и вернуть Product с идентификатором 1
POST: лямбда-функция my-api-gateway-endpoint / products будет знать, что этоPOST для продуктов, поэтому будет запускаться соответствующая функция для вызова стороннего Web API через http и вставлять его туда, но дополнительно вставить продукт в мою базу данных db
DELETE: my-api-gateway-endpoint / products / 1Лямбда-функция будет знать, что это запрос DELETE для продуктов с Id 1, поэтому она будет запускать соответствующую функциюЧтобы вызвать сторонний Web API через http и удалить его там, но дополнительно запросите мою базу данных и удалите Продукт с идентификатором 1
Я пытаюсь определить подходящий стек для выполнения работы, ниже приведено то, чтоДо сих пор я придумал: -API Gateway
-Однозначная лямбда-функция, написанная на C # и загруженная, обрабатывает все типы запросов.Обращается к стороннему веб-API и дополнительно к серверу db
-Aurora Db без сервера с API данных.Идея состояла бы в том, чтобы поговорить об этом с помощью лямбда-функции C # для сохранения и запроса данных.
Я начинаю немного запутываться, когда вижу людей, размещающих целые проекты основного веб-API Asp.net в Lambda.Может быть, это путь, которым я иду вместо этого.Я не могу найти ни одного примера того, как я мог бы получить доступ к Aurora Db Serverless API данных с помощью C #.
Может кто-нибудь дать мне некоторое представление о том, поможет ли мне этот стек выбрать верный путь для выполнения работы илидайте какие-нибудь идеи о другом способе, которым я могу это изложить.
Я ищу полностью безсерверный и максимально простой.Мне также все равно, на каком языке Lambda, но я предпочитаю C #.