我已经设置了一个AWS Aurora无服务器PostgreSQL数据库。我还拥有运行Lambda函数端点的API Gateway。现在,Lambda函数正在连接到DynamoDB,但是RDS在我的用例中会更好地工作。
我已经搜索了几个小时的互连网,但是似乎找不到如何使用Lambda和Node.js访问我的Aurora Serverless DB的示例。我不确定函数中需要导入什么,也很难在API中找到正确的方法。
让我入门的基本Node.js示例将非常有用。
谢谢。
答案 0 :(得分:0)
我在AWS开发人员论坛上得到的回复正是我开始所需要的。
很明显,要使用PostgreSQL连接器,您必须在本地构建功能并导入,而不是使用在线Lambda控制台。
这是MrK提供的示例代码: https://forums.aws.amazon.com/message.jspa?messageID=919394
//this imports the postgres connector into the file so it can be used
const { Client } = require('pg');
//instantiates a client to connect to the database, connection settings are passed in
const client = new Client({
user: '<your db username>',
host: '<your endpoint>',
database: '<your database name>',
password: '<your database password>',
port: 5432
});
//the lambda funtion code
exports.handler = async (event, context, callback) => {
try {
await client.connect();
callback(null, "Connected Successfully");
//your code here
} catch (err) {
callback(null, "Failed to Connect Successfully");
throw err;
//error message
}
client.end();
};
答案 1 :(得分:0)
您应该能够使用用于连接到 PostgreSQL 数据库的相同工具/客户端连接到 Aurora 实例。例如,当您导航到集群的连接和安全选项卡时,您会看到一个端点名称 - 您可以在任何脚本的连接字符串中使用该名称和端口号。
Connecting to an Amazon Aurora PostgreSQL DB cluster Creating a DB cluster and connecting to a database on an Aurora PostgreSQL DB cluster