postgresql - 如何使用 Node.js 中的 Lambda 函数从 Amazon RDS 获取数据?
问题描述
我在 Aurora PostgreSQL 中有一个数据库,并且我正在使用 API 网关来调用在 Node.js 中为 API 创建的 Lambda 函数。这是我没有 URL 参数的简单 GET 请求的代码:
var pg = require("pg");
exports.handler = function(event, context) {
var conn = “//Connection string";
var client = new pg.Client(conn);
client.connect();
//var id = event.id;
console.log('Connected to PostgreSQL database');
var query = client.query("SELECT * from USERS;");
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);
});
};
我能够成功地从此表中获取所有记录。我必须对代码和 API 网关本身进行哪些更改才能使用 WHERE 子句的参数发出 GET 请求以从其用户名中选择特定用户,并发出 POST 请求以将新用户插入表中?
解决方案
对于代理 lambda 集成,提交到 API 网关的所有 GET 和 POST 参数都将在event
对象中可用。因此,您必须获取为事件提交的值WHERE
和INSERT
从事件中提交的值。
event
结构如图所示:
您还需要确保从 lambda 中返回正确的数据。返回数据也需要正确的格式:
推荐阅读
- c++ - 为什么模板和模板特化实体和类不是?
- vb.net - 实体外键不在模型中
- python - sphinx - 如何包含 Python 函数作为源代码
- javascript - 如何使用 Vue.js 将 TypeScript 文件编译为 JavaScript
- java - 为什么 Java Stream 没有得到 List<> 不能转换为布尔值
- regex - 从字符串中删除与 JSON 模式不匹配的内容
- html - 选择表格显示异常?
- typescript - 如何指定返回唯一类的函数的类型?
- excel - vba中的动态计数
- c++ - 如何在 CTreeCtrl/CWnd 中接收 ON_UPDATE_COMMAND_UI?