API网关WebSocket API后连接超时

API网关WebSocket API后连接超时,websocket,aws-lambda,aws-api-gateway,Websocket,Aws Lambda,Aws Api Gateway,我正在尝试在API网关上设置WebSocket API。我正在学习基础教程,我已经准备好了所有的东西,并且正在运行->路由,用于$connect,$disconnect,“test”,$default。我能够连接到API,将connectionId存储在Redis中,并在从测试路由访问时检索它 问题是当我试图从lambda(处理所有路由的单个lambda)发回消息时。我正在使用以下代码 const apigwManagementApi = new AWS.ApiGatewayManagemen

我正在尝试在API网关上设置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()
这仅在“测试”路线上调用

所有这些都是按照他们的指导。我必须添加一个
补丁
,才能使
后连接
再次正常工作,正如他们的教程所示。问题是当调用上述方法时,我从API网关收到一条
内部服务器错误
消息,并且lambda在3秒钟后超时

关于这种方法的信息很少。我不确定是什么导致了内部服务器错误。我已经检查了端点和连接ID,两者都是正确的。
我做错了什么?有什么建议吗?

所以问题不在于实际的lambda,而在于它不是在能够访问互联网的专有网络中建立的。因此,如果您是lambda启用了VPC,请确保它已设置NAT网关和Internet网关