节点HTTPS请求未在Lambda

时间:2016-08-24 19:45:35

标签: javascript node.js amazon-web-services aws-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

1 个答案:

答案 0 :(得分:0)

原来我在回调函数和请求之间错过了一个'}'。愚蠢的小错误,但至少现在有一个关于如何使用请求模块对Lambda执行POST请求的一个很好的示例。