来自Lambda函数的API网关的502内部服务器错误响应 [英] 502 internal server error response from API gateway from lambda function
问题描述
这是我的lambda函数: 我显然已经暂时取消了配置
this is my lambda function: I've obviously blanked out the config for now
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,这只是该数据的一小段
when I test my lambda it's getting the json back in the correct form, this is just a snippet of that data
{
"statusCode": "200",
"body": "[{\"bodyPart\":\"arms\",\"cardio\":false,\
但是,每当我调用API网关来触发lambda并对其进行测试时,我都会在API页面上看到一个502.
however, whenever I invoke API gateway to trigger the lambda and test it, I get a 502. on the API page it just says
{
"message": "Internal server error"
}
我为什么要得到这个?
我已经进行了一些谷歌搜索,大多数答案都说您必须返回statusCode
.显然,我正在这样做,但是它仍然坏了
I've done some googling and most answers say you have to return a statusCode
. Clearly I am doing that and it's still broken
有什么想法吗?
也许我调用api网关错误吗?
perhaps im invoking api gateway wrong?
推荐答案
弄清楚了.我没有为其设置 facepalm 的权限.我正在使用ANY请求.但是一旦我收到请求,它就会起作用.
Figured it out. I hadn't set permissions for it facepalm. I was using the ANY request. but once I did a get request it worked.
这篇关于来自Lambda函数的API网关的502内部服务器错误响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!