node.js - 在 AWS lambda 上设置 https 代码使用 NodeJS
问题描述
我需要帮助。当我在 lambda 上构建 Http 代码时,我无法将值存储到数据库中。
我已经设置了使用 SQS-poller 构建的 AWS lambda 函数。所以我用这个在 lambda 上的 index.js 文件上构建代码
const http = require('http');
var fs = require('fs');
exports.handler = async (event) => {
let postData = JSON.stringify(event);
var options = {
'method': 'POST',
'hostname': 'mylink.com',
'path': '/index.php?route=report',
'headers': {
'Content-Type': 'application/json'
}
};
var req = http.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);
});
});
req.write(postData);
req.end();
console.log(postData);
};
价值let postData = JSON.stringify(event);
是这个
{
"Records": [
{
"messageId": "1123",
"receiptHandle": "MessageReceiptHandle",
"body": "Hello from SQS!",
.......
}
]
}
我只想存储这个"body": "Hello from SQS!",
所以在我的终点网址中,http://mylink.com/index.php?route=report
我构建了一个像这样的简单代码
public function report(){
$dataJson = file_get_contents('php://input');
$decode = json_decode($dataJson, true);
$this->db->query("INSERT INTO report_data (report_id, text, date_added) VALUES (NULL, '".$decode['Records'][0]['body']."', current_timestamp())");
}
但来自的值"body": "Hello from SQS!",
不会存储到我的数据库中。report_data
它可以在表格上创建一个带有空文本的新行。
我已经调查过,没有发现任何错误。
请帮我。我需要将值存储Hello from SQS!
到表中report_data