这是我的 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 并测试它时,我都会收到 502。在 API 页面上它只是显示
{
"message": "Internal server error"
}
我收到这个的原因是什么?
我进行了一些谷歌搜索,大多数答案都说您必须返回 statusCode
。显然我正在这样做,但它仍然损坏
有什么想法吗?
也许我调用的 api 网关错误?
最佳答案
想通了。我没有为其facepalm设置权限。我正在使用任何请求。但一旦我做了一个 get 请求,它就起作用了。
关于javascript - 来自 lambda 函数的 API 网关的 502 内部服务器错误响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55051452/