API网关 WebSocket API postConnection超时

3
我正在尝试在API Gateway上设置WebSocket API。我按照基本教程进行操作,已经全部运行:路由为$connect, $disconnect, "test", $default。我可以连接到API,并将connectionId存储在Redis中,在从测试路由访问时检索它。问题是当我尝试从我的lambda(单个lambda处理所有路由)发送消息时。我正在使用以下代码。
 const apigwManagementApi = new AWS.ApiGatewayManagementApi({
    apiVersion: '2018-11-29',
    endpoint: `https://${event.requestContext.domainName}/${event.requestContext.stage}`
});

最初的回答
然后我调用

await apigwManagementApi.postToConnection({
        ConnectionId: connectionId,
        Data: `Echo: ${data}`
    }).promise()

这只在“test”路由上调用。
所有这些都是按照他们的指南进行的。我必须添加一个“patch”才能使“postConnection”正常工作,同样是根据他们的教程。但问题是,当上述方法被调用时,API网关返回了一个“内部服务器错误”的消息,并且lambda在3秒后超时。
此方法信息很少。我不确定是什么原因导致了内部服务器错误。我已经检查了终端点和连接ID,两者都是正确的。我做错了什么?有什么建议吗?
1个回答

0
所以问题不是实际的lambda函数,而是它没有设置在可以访问互联网的VPC中。因此,如果您的lambda函数启用了VPC,请确保它已经设置了NAT网关和Internet网关。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接