Подход № 1 Использование API-шлюза
API-шлюз и Lambda имеют одну из лучших интеграций для безсерверных приложений. Он очень широко используется и предлагает множество функций - интеграция прокси , шаблоны сопоставления , пользовательские доменные имена и различные типы аутентификация .
Однако с этими плюсами связаны недостатки из-за некоторых ограничений использования API Gateway. По умолчанию время интеграции API-шлюза (жесткий предел) API-шлюза составляет 29 секунд - это означает, что функции Lambda необходимо отправить ответ API в течение этого периода времени, иначе API завершится с ошибкой 504. Вы можете ознакомиться с другими ограничениями, связанными с API Gateway здесь .
Подход # 2 Lambda, вызывающий Lambda
Я не большой поклонник этого подход и есть несколько причин для этого. Я начну с дополнительного кода, который вы должны написать - ту же задачу с лучшими функциями можно выполнить с помощью API Gateway с простыми настройками на консоли AWS.
Контейнер, вызывающий другой контейнер (Lambda), может привести к проблемам, связанным с контейнером - сетевая работа, повторное использование контейнера и даже правильное управление разрешениями IAM.
Кроме того, лямбда-функция может вызываться только тремя опциями - SDK, CLI или объектом, имеющим разрешение «Вызывать». В общем, вам нужно иметь какой-то ресурс перед вашей первой лямбдой, чтобы вызвать его, который затем вызовет вторую. По моему мнению, API Gateway - это лучший интерфейс, который вы можете иметь для Lambda, который точно AWS имел в виду создание этих двух сервисов.
Один из плюсов, которые я могу придумать, это время выходное значение - лямбда может работать максимум до 15 минут. Если ваш клиент не требует быстрого ответа, вы можете запустить эти две функции Lambda в течение более длительного времени для выполнения кода.
Сводка
Вся вышеприведенная информация было довольно общим для всех, кто хочет использовать API Gateway и Lambda. Еще раз скажу, что использование API Gateway - более удобный и полезный подход, однако он может зависеть от вашего варианта использования. Надеюсь, это поможет!