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

0

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

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

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

profile picture
EXPERTE
gefragt vor 8 Monaten20 Aufrufe
1 Antwort
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
EXPERTE
beantwortet vor 8 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen