Aws lambda 来自无服务器框架lambda函数中cloudfront的错误
我正在尝试部署一个简单的Slack lambda api,它使用Aws lambda 来自无服务器框架lambda函数中cloudfront的错误,aws-lambda,serverless-framework,serverless,Aws Lambda,Serverless Framework,Serverless,我正在尝试部署一个简单的Slack lambda api,它使用@Slack/client库从特定通道删除成员和固定消息。我遇到的问题是函数执行时没有问题,它删除通道成员时没有问题,但我的Lambda函数不断返回: HTTP/1.1 502 Bad Gateway ... X-Cache: Error from cloudfront ... { "message": "Internal server error" } 作为回应主体。当我使用sl
@Slack/client
库从特定通道删除成员和固定消息。我遇到的问题是函数执行时没有问题,它删除通道成员时没有问题,但我的Lambda函数不断返回:
HTTP/1.1 502 Bad Gateway
...
X-Cache: Error from cloudfront
...
{
"message": "Internal server error"
}
作为回应主体。当我使用sls logs-f api检查日志时,我也没有看到任何错误。我看到函数的console.log已成功执行
我的serverless.yml
如下所示:
provider:
name: aws
runtime: nodejs10.x
profile: serverless
functions:
api:
handler: handler.api
timeout: 30
events:
- http:
method: POST
path: clean
我的api代码,我已经删除了不必要的函数代码,因为它们正在工作,是:
module.exports.api = async (event, context, callback) => {
let channel = JSON.parse(event.body).ctf
let id = await findChannelId(channel)
removeMembersFromChannel(id[0]).then(() => {
removePinsFromChannel(id[0]).then(() => {
callback(null, {
statusCode: 200,
body: JSON.stringify({
message: `Cleaned ${channel} ${id}`,
}, null, 2),
})
})
})
};
我尝试过的事情:
- 返回响应,而不是使用
回调
- 使用承诺和异步等待
- 使用
sls invoke local
- 我的大部分搜索显示这可能是一个权限问题,但所有的引用都是针对s3的使用,而我没有使用s3
- 为什么我会出现这个错误,以及如何解决这个问题
- 在处理函数中引用之后,我使用的是
。使用JSON.stringify
,如何避免使用Lambda代理集成无服务器框架
-日志来自lambda@edge位于调用的区域我遇到了类似的问题。结果发现我找到处理程序的路径有错误。