是否存在有关如何通过Lambda连接到AWS Aurora Serverless PostgreSQL的Node.js示例

时间:2019-10-10 15:16:22

标签: node.js aws-lambda aws-aurora-serverless

我已经设置了一个AWS Aurora无服务器PostgreSQL数据库。我还拥有运行Lambda函数端点的API Gateway。现在,Lambda函数正在连接到DynamoDB,但是RDS在我的用例中会更好地工作。

我已经搜索了几个小时的互连网,但是似乎找不到如何使用Lambda和Node.js访问我的Aurora Serverless DB的示例。我不确定函数中需要导入什么,也很难在API中找到正确的方法。

让我入门的基本Node.js示例将非常有用。

谢谢。

2 个答案:

答案 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