首页 > 解决方案 > serverless-mysql:Lambda 函数在查询时死掉,没有错误

问题描述

我有一个 lambda 应用程序,它具有连接到同一个 Aurora MySQL RDS 的两个函数。Lambda 1 连接良好UPDATE,并且可以在本地和 AWS 上运行。

部署到 AWS Lambda 2 的 Whew 尝试执行 aSELECT并在mysql.query(). 奇怪的是,lambda 2 在本地运行良好serverless-offline

这个功能在我的开发和生产版本上都死了,有两个不同的 RDS。

通常因为它没有错误就死了,我认为这将是一个网络安全问题,但 lambda 1 使用相同的配置文件连接良好。

我已经注销了sqlStmt,一切都在那里。

这是似乎失败的代码:

const sqlStmt = fs.readFileSync(sqlFile, 'utf-8');
    const results = await mysql
      .query({
        sql: sqlStmt,
        timeout: 100000,
        values: [
          startDate,
          endDate,
          startDate,
          endDate,
          startDate,
          endDate,
          startDate,
          endDate,
        ],
      })
      .catch((error) => {
        console.log('DB ERROR', error);
      });
console.log('RESULTS', results);  // I never see this log output when deployed

标签: mysqlaws-lambdaserverless

解决方案


推荐阅读