我想一些JSON数据(提取来源DaynamoDB)发送到从AWS拉姆达功能的其他服务器,但同时也让URL脚本:如何JSON数据发布到由拉姆达脚本另一台服务器
'use strict';
const https = require('https');
exports.handler = (event, context, callback) => {
var options = {
hostname: 'https://www.corecomputersystem.com',
path: '/getSyncData.php',
port : 432,
method: 'POST',
headers: {
'Content-Type': 'application/json',
}
};
event.Records.forEach((record) => {
console.log(record.eventID);
console.log(record.eventName);
console.log('DynamoDB Record: %j', record.dynamodb);
var res = record.dynamodb;
const req = https.request(options, (res) => {
let body = "";
console.log('Status:', res.statusCode);
console.log('Headers:', JSON.stringify(res.headers));
res.setEncoding('utf8');
res.on('data', (chunk) => body += chunk);
res.on('end',() => {
console.log('Successfully processed HTTPS response');
// If we know it's JSON, parse it
if (res.headers['content-type'] === 'application/json') {
body = JSON.parse(body);
}
callback(null, body);
});
});
req.on('error', callback);
req.write(JSON.stringify(event.data) + "");
req.end();
//context.succeed();
});
};
它抛出下面的错误,
{
"errorMessage": "getaddrinfo ENOTFOUND https://www.corecomputersystem.com https://www.corecomputersystem.com:432",
"errorType": "Error",
"stackTrace": [
"errnoException (dns.js:26:10)",
"GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:77:26)"
]
}
,如果我取消了context.succeed()
,没有错误,我需要确定错误的帮助。
我试图删除它,但再次新的错误我得到了一句话:{ “的errorMessage”: “连接ECONNREFUSED 173.236.36.194:432”, “ERRORTYPE”: “错误”, “堆栈跟踪”: “对象“.exports._errnoException(util.js:870:11)”, “exports._exceptionWithHostPort(util.js:893:20)”, “TCPConnectWrap.afterConnect [as oncomplete](net.js:1062:14)” ] } – Ashish
我都试过,但它再次开始给了一个错误:{ “的errorMessage”: “连接ECONNREFUSED 173.236.36.194:432”, “ERRORTYPE”: “错误”, “堆栈跟踪”: “ Object.e “xports._errnoException(util.js:870:11)”, “exports._exceptionWithHostPort(util.js:893:20)”, “TCPConnectWrap.afterConnect [as oncomplete](net.js:1062:14)” ] } – Ashish
你确定你有端口吗?它不是标准的https端口。 https应该是443 – at0mzk