我正在使用Lambda将数据插入RDS。我有~1000条记录。但是,我测试该功能时收到以下错误。当我检查数据库时,只成功插入了一些(~160)记录。我找不到任何有用的信息,因为我成功连接到数据库。
我使用节点,基本上,使用Promise.map来处理异步。我认为问题不是来自代码,这是一个网络问题,可能是限制我的查询计数。谁能给我一些见解?
{
"cause": {
"errorno": "ETIMEDOUT",
"code": "ETIMEDOUT",
"syscall": "connect",
"fatal": true
},
"isOperational": true,
"errorno": "ETIMEDOUT",
"code": "ETIMEDOUT",
"syscall": "connect",
"fatal": true
}
您可以尝试在数据库中设置超时:
查看超时:
show VARIABLES like '%timeout%'
建立:
SET GLOBAL connect_timeout=28800
SET GLOBAL wait_timeout=28800
SET GLOBAL interactive_timeout=28800
在完成查询以使lambda正确退出之后,您将需要关闭所有数据库连接,否则它将始终超时。
此外,请确保在lambda处理程序内启动数据库连接。这将确保在lambda函数启动时始终创建db连接,并且在重用lambda容器时永远不会遇到任何Connection closed
问题