node.js - 如何使用节点 js 返回 AWS Lambda 回调值
问题描述
我对 AMS Lambda 有点陌生。
我编写了一个小(工作)函数来在 HarperDB 上执行一个简单的 sql 语句。lambda 函数运行良好,日志显示TableName的结果行
问题是如何从 SQL 语句的执行中获取或返回结果值。
以下是我的代码
exports.handler = (event, context, callback) => {
//console.log("Event is ",event);
//console.log("Context is ",context);
//console.log("callback is",callback)
var https = require('follow-redirects').https;
var fs = require('fs');
console.log(context); // for analysis purpose
var options = {
'method': 'POST',
'hostname': 'MyInstance-MyAccount.harperdbcloud.com',
'path': '/',
'headers': {
'Authorization': 'Basic MyAuthoriztionCode',
'Content-Type': 'application/json'
},
'maxRedirects': 20
};
var req = https.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function (chunk) {
var body = Buffer.concat(chunks);
console.log(body.toString());
});
res.on("error", function (error) {
console.error(error);
});
});
var postData = JSON.stringify({
"operation": "sql",
"sql": "SELECT * FROM MyInstanceName.TableName"
});
req.write(postData, callback);
req.end();
const response = {
statusCode: 200,
body: JSON.stringify('Select Completed!'),
};
return (response); // I want to get the result of execution of my sql statement
};
如何返回 SQL 语句的执行结果
解决方案
在“结束”事件侦听器中添加对回调的调用。
res.on("end", function (chunk) {
var body = Buffer.concat(chunks);
console.log(body.toString());
callback(null, body.toString());
});
推荐阅读
- css - 更改输入焦点上的边框
- google-chrome - 仅 Chrome 上的 SVG 平铺间隙
- batch-file - 如何使用 WinSCP 连续上传文件
- git - 结帐分支不会还原我的更改
- opencv - 构建 OpenCV 4 需要 CC 5.3 或更高版本 - RTX 2080TI
- swift - 如何获取firebase键值
- sql - 在 CRAN R 中使用 BETWEEN 命令进行 SQL 查询以选择日期
- ruby-on-rails - Rails - HTTParty 如何访问参数?
- ios - 调整约束高度后,Swift 约束无法移回屏幕底部
- javascript - 限制分组复选框的检查数量(即最多 2 组)