Я определил лямбда-функцию, которая вызывается из API Gateway с интеграцией прокси.Таким образом, я определил для него путь активного ресурса:
И ссылался на мою лямбда-функцию:
Моя лямбда может обрабатывать запрос, например GET /myresource
, POST /myresource
.
Я пытался использовать эту стратегию, чтобы сохранить ее, описанную в acloudguru .Он состоит из настройки правила события CloudWatch, которое вызывает лямбду каждые 5 минут, чтобы она оставалась теплой.К сожалению, это не работает.
Я видел такое поведение:
Через некоторое время, скажем, через 20 минут, я звоню GET /myresource
из API Gatewayи это занимает около 15 секунд.Последующие запросы продолжаются ~ 30 мс.Событие CloudWatch не имеет значения ...
Давайте предположим еще один длительный период без вызова шлюза.Если я подхожу к лямбда-консоли и вызываю ее напрямую (кнопка тестирования), она сразу же отвечает (менее 1 мс) на 404 (это нормально, потому что моя лямбда ожидает GET /myresource
или POST /myresource
).
Сразу после выполнения этой лямбда-консоли я вызываю GET /myresource
из шлюза API, и это все еще занимает ~ 20 секунд.То есть функция все еще была холодной, несмотря на то, что ее вызывали с консоли Lambda.Это может объяснить, почему событие CloudWatch не работает, так как оно вызывает лямбду без установки метода / resource-url.
Итак, как я могу сделать этот конкретный случай с API-шлюзом с интеграцией прокси + Lambda остается теплымпредотвратить эти медленные первые запросы?