У меня есть функция AWS Lambda, которая подключается к базе данных SQL, и тайм-аут для лямбда установлен на 120 секунд. Но когда возникает проблема с подключением к БД или выполнением запроса, время ожидания лямбда истекает через 60 секунд. Ниже моя конфигурация БД. Я использовал модуль node-mssql.
const DBConfig = {
user: Config.DBUser,
password: pswd,
server: Config.DBHost,
port: Config.DBPort,
database: Config.DBName,
connectionTimeout: 60000,
requestTimeout: 60000,
options: {
encrypt: false
}
}
Установлено ли ваше соединение вне функции вашего обработчика?





Это связано с тем, что ваше соединение истекает при попытке подключиться к базе данных, и вы неправильно обрабатываете тайм-аут внутри лямбда-функции, и для вашей лямбда истекает время ожидания.
Лямбда не может получить тайм-аут до того, как его продолжительность превысит настроенное значение тайм-аута. Другие варианты прекращения исполнения: - Функция обработчика завершена. - Возникло необработанное исключение. В частности, в NodeJS сообщение об ошибке в журналах Lambda будет выглядеть следующим образом: «процесс завершен до завершения запроса» (хотя это не означает, что был тайм-аут). - Возникла проблема нехватки памяти, но это не похоже на вашу проблему.
Вы пробовали увеличить память вашей лямбда-функции? В прошлом, когда я увеличивал объем памяти до 1 ГБ +, это, похоже, решало для меня ряд проблем с подключением.
пожалуйста, не задавайте вопросов в своем ответе. вы можете сделать это, добавив комментарии.
Какой у Вас вопрос?