节点 HTTPS 请求未在 Lambda 中返回回调函数
Node HTTPS request not returning callback function in Lambda
我在 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
原来我在回调函数和请求之间缺少一个“}”。愚蠢的小错误,但至少现在有一个很好的例子,说明如何使用请求模块在 Lambda 上执行 POST 请求。
我在 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
原来我在回调函数和请求之间缺少一个“}”。愚蠢的小错误,但至少现在有一个很好的例子,说明如何使用请求模块在 Lambda 上执行 POST 请求。