我在AWS Lambda中使用Request包用于节点,我试图在请求的回调函数中获取成功请求的主体。我知道请求是成功的,因为它在Toggl中创建资源,但它没有显示在日志中。下面的设置适用于我的其他Express / Node应用程序,但不在此处?我是Lambda的新手,所以我可能会遗漏一些明显的东西。 Lambda说console.log()将登录到Cloudwatch,但就像回调函数没有运行一样。有什么想法吗?
var request = require('request');
exports.handler = function signupNew(event, context){
request({'url': 'https://www.toggl.com/api/v8/projects', //URL to hit
'method': 'POST',
'headers': {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
'auth': {
'user': 'xxxxx',
'pass': 'api_token'
},
'json': {
"project":{
"name": "Bobby", //name of project,
"wid":1057436, //Workspace
"template_id":16368482, //template
"is_private":false //public?
}
}, function(error, response, body){ //response for API call
if(error) {
console.log(error);
} else {
//signupPayload.toggl = body;
console.log(response.statusCode, body);
context.done(null, body)
}
}});
} //end of handler function
答案 0 :(得分:0)
原来我在回调函数和请求之间错过了一个'}'。愚蠢的小错误,但至少现在有一个关于如何使用请求模块对Lambda执行POST请求的一个很好的示例。