Amazon web services 错误消息=进程在完成请求之前退出。错误=池已关闭

Amazon web services 错误消息=进程在完成请求之前退出。错误=池已关闭,amazon-web-services,aws-lambda,amazon-rds,amazon-aurora,Amazon Web Services,Aws Lambda,Amazon Rds,Amazon Aurora,我有一个Lambda函数,Aurora db,DynamoDb。我正在从aurora db中提取数据,对于某些读取请求,我得到了错误,对于某些读取请求,我得到了输出。这是示例代码,我已连接到读卡器端点 var AWS = require("aws-sdk"); var mysql = require('mysql'); const client = new AWS.DynamoDB.DocumentClient({region : 'eu-west-1'}); var connection =

我有一个Lambda函数,Aurora db,DynamoDb。我正在从aurora db中提取数据,对于某些读取请求,我得到了错误,对于某些读取请求,我得到了输出。这是示例代码,我已连接到读卡器端点

var AWS = require("aws-sdk");
var mysql = require('mysql');
const client = new AWS.DynamoDB.DocumentClient({region : 'eu-west-1'});
var connection  = mysql.createPool({
    host     : "*******************",
    user     : "*****",
    password : "******",
    database : "mydb",
    port     : "3306"
  });
exports.handler = (event, context, callback) => {
  //var id = parseInt(event.id);
    connection.query("select * from demo where id=3;", function (error, results, fields) {

        if (error) {

            if (error) throw error;
        } else {

            connection.end();

        }
}
);
};
错误:

Response:
{
  "errorMessage": "RequestId: 0c2d1a39-58d9-11e8-bef9-dbe1bfb0a080 Process exited before completing request"
}

Request ID:
"0c2d1a39-58d9-11e8-bef9-dbe1bfb0a080"

Function Logs:
START RequestId: 0c2d1a39-58d9-11e8-bef9-dbe1bfb0a080 Version: $LATEST
2018-05-16T07:16:27.041Z    0c2d1a39-58d9-11e8-bef9-dbe1bfb0a080    Error: Pool is closed.

在某些读取请求中,我得到了所需的输出,但在某些读取请求中,我得到了上述错误。有人知道解决方案吗?请帮助……

您能否将以下部分移动到函数处理程序的内部?此修改允许Lambda函数每次初始化连接对象,而不是重用它

var connection  = mysql.createPool({
  host     : "*******************",
  user     : "*****",
  password : "******",
  database : "mydb",
  port     : "3306"
});

根据,使用end()关闭连接,确保在向mysql服务器发送quit数据包之前执行所有剩余的查询。当您在Lambda函数中执行connection对象的end()函数时,我相信您也需要在Lambda函数的开头初始化connection对象。

Man,您救了我一天!非常感谢。