#amazon-web-services #aws-lambda
Вопрос:
Вот что я знаю или думаю, что знаю.
В AWS Lambda первый вызов функции обычно называется «холодным запуском» — это сродни первому запуску вашей программы.
Если вы выполните второй вызов функции относительно быстро после первого, этот холодный запуск больше не повторится. В просторечии это называется «теплым началом».
Если функция простаивает достаточно долго, среда выполнения отключается, и следующий запрос необходимо будет запустить снова.
Также возможно иметь одну функцию AWS Lambda с несколькими триггерами. Вот пример одной функции, которая обрабатывает как запросы шлюза API, так и сообщения SQS.
Мой вопрос: Будет ли AWS Lambda повторно использовать (теплый запуск) среду выполнения при появлении различных триггеров событий? Или у каждого триггера события будет свой собственный холодный запуск? Или такое поведение не гарантируется Лямбдой?
Ответ №1:
Да, разные триггеры будут использовать одни и те же контейнеры, поскольку среда выполнения одинакова для разных триггеров, единственное различие заключается в событии, которое передается в вашу Лямбду.
Вы можете проверить это, выполнив свой Lambda с помощью двух типов триггеров (т. Е. Шлюза API и просто функции тестирования на консоли Lambda) и просмотрев журналы CloudWatch. Каждый Лямбда-контейнер создает свой собственный поток журналов внутри группы журналов вашей Лямбды. Вы должны увидеть, что оба журнала событий переходят в один и тот же поток журналов, что означает, что 2-е событие успешно использует теплый контейнер, созданный первым событием.