我有一个连接到SQL DB的AWS Lambda函数,并且lambda的超时已设置为120秒。但是,当数据库连接或查询执行出现问题时,lambda将在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
}
}
答案 0 :(得分:0)
这是因为尝试连接数据库时连接正在超时,并且您没有在lambda函数内部正确处理超时,并且在那里lambda将会超时。
答案 1 :(得分:0)
Lambda的持续时间超过配置的超时值之前无法超时。 执行终止的其他选项包括: -处理程序功能已完成。 -提出了未处理的异常。特别是在NodeJS中,Lambda日志中的错误消息将为:“在完成请求之前退出了进程”(尽管这并不意味着存在超时)。 -存在内存不足的问题,但这似乎不是您的问题。
答案 2 :(得分:0)
您是否尝试过增加 lambda 函数的内存?过去,当我将内存提升到 1GB+ 时,这似乎为我解决了许多连接问题。