来自Lambda函数的API网关的502内部服务器错误响应

时间:2019-03-07 19:28:45

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

这是我的lambda函数: 我显然已经暂时取消了配置

exports.handler = (event, context) => {
    var config = {

    };
    firebase.initializeApp(config)

    const gymData = firebase.database().ref("gymData/exercises")
    axios.get('https://------/gymData/exercises.json').then(({data}) => {
      const returnedData = Object.values(data)
      const response = {
        statusCode: '200',
        body: JSON.stringify(returnedData),
        headers: {
          'Content-Type': 'application/json',
        }
      }
      context.succeed(response)
    })
};

当我测试我的lambda时,它会以正确的形式返回json,这只是该数据的一小段

{
  "statusCode": "200",
  "body": "[{\"bodyPart\":\"arms\",\"cardio\":false,\

但是,每当我调用API网关来触发lambda并对其进行测试时,我都会在API页面上看到一个502。

{
  "message": "Internal server error"
}

我为什么要得到这个?

我已经进行了一些谷歌搜索,大多数答案都说您必须返回statusCode。显然,我正在这样做,但是它仍然坏了

有什么想法吗?

也许我调用api网关错误吗?

1 个答案:

答案 0 :(得分:0)

弄清楚了。我尚未为其 facepalm 设置权限。我正在使用ANY请求。但是一旦我收到请求,它就会起作用。