我正在使用AWS Lambda函数,并且在其中有一个函数一直没有问题,直到最近我更改了函数中不相关的东西,并且已经删除了该函数仍然无效的更改。
目前它点击了doPost函数,记录了第一行,然后函数总是超时(我试过给它更多的时间,它仍然超时,它被卡在某处)。
我已重命名post_req.write
以获取错误并且有效,所以我知道它正试图发布帖子。我已经把它发布到的网址搞砸了,并且在那里也出现了错误,所以我知道它实际上正在通过..但它拒绝在此时记录任何响应。
非常感谢任何帮助。
编辑:事实证明这里的代码没有任何问题,问题是API如何处理某种类型的错误请求。
function doPost(request, callback) {
console.log('gets to doPost func');
var req = {
"accessKey": request.accessKey,
"templateName": request.templateName,
"outputName": request.outputName,
"data": request.data
};
// Build the post string from an object
var post_data = JSON.stringify(req);
// An object of options to indicate where to post to
var post_options = {
host: 'dws2.docmosis.com',
port: '443',
path: '/services/rs/render',
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Content-Length': Buffer.byteLength(post_data)
}
};
// Set up the request
var post_req = https.request(post_options, function(res) {
console.log('RES:' + res);
res.on('data', function(chunk){ console.log('data'); body = Buffer.concat([body, chunk]); });
res.on('error', function(e) { console.log('err: ' + e); });
res.on('end', function() {
if (res.statusCode == 200) { callback(req); }
else { console.log('status err: ' + res.statusCode); }
});
});
// post the data
post_req.write(post_data);
post_req.end();
}