我正在尝试连接到AWS RDS数据库,但是我似乎无法让我的函数甚至尝试连接。
这是我的函数:
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...正如您所看到的,脚本刚刚结束,我没有收到任何一条消息。
发布于 2021-04-17 00:48:02
如果您想从Lambda函数连接到RDS实例(我假设这就是您所说的无服务器),那么在这里查看详细信息:https://docs.aws.amazon.com/lambda/latest/dg/services-rds-tutorial.html
要从代码或运行在开发机器上的工具连接到RDS (无论代码是Java、JavaScript还是Python等都很重要),您需要执行以下任务:
有关设置安全组入站规则的信息,请参阅Controlling Access with Security Groups。
https://stackoverflow.com/questions/67127740
复制相似问题