AWS Lamba + Nodejs + MySQL

时间:2019-05-27 17:06:24

标签: mysql node.js amazon-web-services aws-lambda

我正在编写一个简单的lambda代码以向mysql表(rds)插入一些值,但是我不知道为什么它不起作用。经过反复尝试后有时会奏效,随后的尝试又会停止工作

每次失败(不插入表中)时,我都会收到以下响应

Response:
null

Request ID:
"6814c4b8-65c5-4401-b7c1-ae06426f186c"

Function Logs:
START RequestId: 6814c4b8-65c5-4401-b7c1-ae06426f186c Version: $LATEST
END RequestId: 6814c4b8-65c5-4401-b7c1-ae06426f186c
REPORT RequestId: 6814c4b8-65c5-4401-b7c1-ae06426f186c  Duration: 317.80 ms Billed Duration: 400 ms     Memory Size: 128 MB Max Memory Used: 75 MB  

我插入数据或查询数据的代码就像

一样简单
const mysql = require('mysql');
const con = mysql.createConnection({
  host     : process.env.RDS_HOSTNAME,
  user     : process.env.RDS_USERNAME,
  password : process.env.RDS_PASSWORD,
  port     : process.env.RDS_PORT,
  database : process.env.RDS_DATABASE
});
exports.handler = (event, context, callback) => {
  // allows for using callbacks as finish/error-handlers
  context.callbackWaitsForEmptyEventLoop = false;
  const sql = "INSERT INTO MESSAGE (message) VALUES ('I am MySQL')";
  con.query(sql, (err, res) => {
    if (err) {
      throw err
    }
    callback(null, '1 records inserted.');
  })
};

我已经仔细检查了安全组设置,这似乎是正确的

我一直在指

`` https://medium.com/@hk_it_er/create-lambda-and-api-gateway-nodejs-aws-serverless-to-rds-mysql-6a75243e61cc

``

关于什么是错误的或应该检查什么的任何指针?

P.S:在100次尝试之后的一天,我设法用相同的代码和设置插入了3行。

1 个答案:

答案 0 :(得分:0)

问题出在节点v10。我切换到节点8,它似乎很容易工作。猜猜节点10发出了一些异步调用。

相关问题