首页 > 解决方案 > 想要在 aws lambda 中的 nodejs 上实现快速 csv,并给出错误:退出状态 129 Runtime.ExitError

问题描述

我是 AWS lambda 配置文件的新手,我正在尝试将数据发布到 csv 并将其存储在 AWS 中。

我尝试进入我的本地并且它工作得很好,但是在指导 lambda 时遇到了问题。

好像我无法关闭我的数据库的连接。

我的代码片段是:

// open the MySQL connection
exports.handler =  (event, context, callback) => {
  context.callbackWaitsForEmptyEventLoop = false; 
  pool.getConnection(function(err, connection) {
  // query data from MySQL
  connection.query("select voucher_code as VOUCHER_CODE, STATUS, DATE_FORMAT(order_date, '%d/%m/%Y %H:%i') as order_date,WEB_ORDER_ID from RealParsmodel.VOUCHER_REPORT where  DATE(order_date)  = '2020-07-04';", function(error, data, fields) {
  connection.release();

  if (error) callback(error);
  else jsonData = JSON.parse(JSON.stringify(data));
        console.log("jsonData", jsonData); 

    fastcsv
      .write(jsonData, { headers: true })
      .on("finish", function() {
        console.log("Write to adityakumar successfully!");
      })
      .pipe(ws);
      
  });
});
};

错误:

{
  "errorType": "Runtime.ExitError",
  Error: Runtime exited with error: exit status 129"
}

我有一个在本地完美运行的代码,

// open the MySQL connection
pool.getConnection(function(err, connection) {
  // Use the connection
    connection.query("select voucher_code as VOUCHER_CODE, STATUS, DATE_FORMAT(order_date, '%d/%m/%Y %H:%i') as order_date,WEB_ORDER_ID from RealParsmodel.VOUCHER_REPORT where  DATE(order_date)  = '2020-07-04';", function(error, data, fields) {
    // And done with the connection.
    if (error) throw error;

    const jsonData = JSON.parse(JSON.stringify(data));
    console.log("jsonData", jsonData);

    fastcsv
      .write(jsonData, { headers: true })
      .on("finish", function() {
        console.log("Write to adityakumar successfully!");
      })
      .pipe(ws);

        
  });
});

标签: mysqlnode.jsamazon-web-servicesaws-lambda

解决方案


看起来你正在使用 mysql 包,用 mysql-serverless 包替换它,你应该很好

npm i serverless-mysql

推荐阅读