正在寻找Node.js示例,通过Lambda将数据发布到Aurora Postgresql。

0

【以下的问题经过翻译处理】 我一直在搜索一些简单的示例,以描述如何使用node.js通过Lambda函数连接到serverless Aurora Postgresql。看起来网上没有找到太多相关内容。

目前我正在使用API Gateway来调用Lambda函数,并将数据发布到DynamoDB,但是RDS对于我的应用程序来说更合适。也许我只是错过了某些示例,但我已经搜索了几个小时了。

任何方向性的帮助都将不胜感激。

profile picture
专家
已提问 8 个月前18 查看次数
1 回答
0

【以下的回答经过翻译处理】 你好,

AWS Lambdas可以通过在线Lambda代码编辑器[1]或者通过导入一个以zip格式打包的包含所需代码的部署包来创建。

由于需要使用PostgreSQL连接器才能连接到RDS PostgreSQL数据库,因此代码需要在本地创建,然后导入到Lambda控制台。

为了实现这一点,在您的本地计算机上,您需要使用终端或命令提示符创建一个Node.js项目。以下命令可完成此操作:

mkdir lambdapostgres
cd lambdapostgres
npm init (按回车接受所有默认值)
npm install —save pg 

这将创建一个名为lambdapostgres的Node.js项目,并将postgres连接器作为依赖项添加到项目中。

完成后,打开文本编辑器中的文件夹,然后创建一个JavaScript文件,其中将包含连接到RDS实例的代码。将以下代码复制到您刚创建的JavaScript文件中:

//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();

};

修改它以包括您的实例连接详细信息,然后需要打包该项目并进入Lambda控制台,在那里创建一个新的函数,选择目标语言(在这种情况下是Nodejs)。

一旦创建完成,您将看到在线代码编辑器,在“代码输入类型”下面有一个下拉列表,从中选择“上传ZIP文件”,然后在保存之前最后一件要做的事情是将“处理程序”重命名为之前创建的JavaScript文件,然后点击保存。

希望这对您有所帮助! /MrK

参考链接: [1] https://docs.aws.amazon.com/lambda/latest/dg/code-editor.html [2] https://docs.aws.amazon.com/lambda/latest/dg/nodejs-create-deployment-pkg.html

profile picture
专家
已回答 8 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则