интеграция лямбда-функции или разделение лямбда-кодов на API-интерфейс шлюза API - PullRequest
0 голосов
/ 21 января 2019

Я настраиваю aws-apigateway-lambda, и я новичок в этих службах.

Мне интересно, как использовать лямбду, получая отдельные методы (POST, GET ...)?

Например,

  1. Создание отдельной лямбда-функции для каждого метода http.

GET api.com -> lambda.api.get

POST api.com -> lambda.api.post

  1. одна лямбда-функция и метод Accept all *
  1. GET, POST, DELETE ... api.com -> lambda.api
def lambda_function(event,context):
    method = event["http-method"]
    if method == 'GET': return receive_get()
    elif method == 'POST': return receive_post()

Какой эффективный способ ??

1 Ответ

0 голосов
/ 21 января 2019

Если вы рассматриваете две лямбда-функции с одинаковым трафиком с примерно одинаковым количеством прогретых контейнеров, то и та и другая лямбда будет обрабатывать примерно одинаковое количество времени. Таким образом, это на самом деле зависит от характера трафика вашего лямбда-сервиса Скажем, например, мы рассматриваем оба случая:

  1. Если ваша служба не имеет регулярного трафика, вам придется раскрутить контейнеры, чтобы сохранить вашу лямбду в тепле. Но в этом случае, если у вас разные лямбды, вы будете обременены согреванием двух лямбда-функций.

  2. Ваш сервис имеет регулярный трафик, поэтому в лямбде не возникает проблем с холодным запуском, и если лямбда-одиночка или две лямбда не будут иметь большой разницы в обработке, если оба этих метода не сделают ваш код слишком обширным и интенсивным, что приводит к увеличению скорости вращения. Лямбда-контейнеры занимают больше времени. Но в обычных случаях get и post метод не тот.

Итак, в основном вы должны решить, сделает ли ваш метод get и post в одной и той же лямбде тяжелым код. Если это произойдет, это может увеличить время раскручивания новых лямбда-контейнеров. Поскольку вы используете python, он добавляет очень мало к холодному времени запуска, и будет лучше поместить оба метода в одну и ту же лямбду.

По вопросам, связанным с холодным запуском лямбды, вы можете посмотреть на них:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...