【发布时间】:2020-12-23 06:02:02
【问题描述】:
我有一个 Angular 应用程序 ERP,它旨在为不同的客户端在不同的本地环境中运行,每个客户端都使用 AWS S3 托管。这些应用程序中的每一个都将拥有自己的专用 API 网关,使用指向 Amazon Aurora RDS 中各自的 PostgreSQL 数据库的 Lambda 函数。我目前使用的 Lambda 函数指向单个 db,示例如下:
var pg = require("pg");
exports.handler = function(event, context) {
var conn = "//Connection string to a single PostgreSQL DB in Amazon Aurora RDS (postgres://username:password@url.region.amazonaws.com:port/dbname)";
var client = new pg.Client(conn);
client.connect();
//var id = event.id;
console.log('Connected to PostgreSQL database');
var query = client.query(`//SQL Query`);
console.log(query);
query.on("row", function (row, result) {
result.addRow(row);
});
query.on("end", function (result) {
var jsonString = JSON.stringify(result.rows);
var jsonObj = JSON.parse(jsonString);
console.log(jsonString);
client.end();
context.succeed(jsonObj);
});
};
如何将像这样的 Lambda 函数转换为服务(Functions-as-a-service,FaaS),这样我就可以在指向各自数据库的不同 API 网关中重用相同的函数(所有这些都具有相同的结构和表格)?
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-rds