繁体   English   中英

无服务器,连接到 AWS RDS

[英]Serverless, connection to AWS RDS

我正在尝试连接到 AWS RDS 数据库,但是我似乎无法让我的 function 甚至尝试连接。

这是我的 function:

export const connectTest = async (event, context) => {
  let mysql = require('mysql');

  let connection = mysql.createConnection({
    host     : process.env.RDS_HOSTNAME,
    user     : process.env.RDS_USERNAME,
    password : process.env.RDS_PASSWORD,
    port     : process.env.RDS_PORT
  });

  let result = await connect(connection);

  connection.end();

  return {
    statusCode: 200,
    body: JSON.stringify({
      message: result
    })
  };
};


const connect = () => new Promise((resolve, reject) => connection => {
  connection.connect(function(err) {
    if (err) {
      reject(`Error ${err.message}`);
    }
    resolve('Connected');
  });
});

这是我在运行以下命令后得到的响应:

Command: serverless invoke local --function connectTest

λ serverless invoke local --function connectTest
Serverless: DOTENV: Loading environment variables from .env:
Serverless:      - RDS_HOSTNAME
Serverless:      - RDS_USERNAME
Serverless:      - RDS_PASSWORD
Serverless:      - RDS_PORT
Serverless: Bundling with Webpack...


如您所见,脚本刚刚结束,我没有收到任何消息。

如果您想从 Lambda function 连接到 RDS 实例(我假设这就是无服务器的意思),请在此处查看详细信息: Z5E056C500A1C4B6A7110B50D807BADE. -rds-tutorial.html

从代码或在您的开发机器上运行的工具连接到 RDS(代码是 Java、JavaScript、Python 等,您需要执行这些任务:

  1. 确保将 RDS 实例配置为允许公共访问。
  2. 设置入站规则,让你的开发机的IP地址连接。

有关设置安全组入站规则的信息,请参阅使用安全组控制访问

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM