无法使用nodejs,aws lambda和aws api gateway

时间:2017-06-12 13:15:39

标签: node.js amazon-web-services lambda aws-lambda aws-api-gateway

我无法在lambda中进行回调以在API网关中发送响应。我正在尝试构建一个与MySQL数据库交互的简单应用程序。 Relevent代码段如下所示。

问题是即使validateToken将返回错误,我将看到console.log消息,done / callback将永远不会向api网关发送预期的响应,并将继续处理它之后的任何代码。

exports.handler = (event, context, callback) => {

    const done = (err, res) => callback(null, {
        statusCode: err ? '400' : '200',
        body: err ? err.message : JSON.stringify(res),
        headers: {
            'Content-Type': 'application/json',
        },
    });

    if (event.path.match(/myApi\/workers\/*/)) {
      // Validate Token
      token.validateToken(pool, event.headers, function(err, result) {
        if (result.status == 'error') {
          console.log('Made it to here')
          done({"message": "Invalid api-token"}, null);
        } else {
          // Proceed with fetching workers
        }
      });
    }
  }

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

结果我的问题与此处发布的相同。

AWS Lambda function never calls the callback

我尝试通过删除mysql部分来简化代码,并没有意识到导致问题的原因。