我已经使用Serverless和Redis编写了Lambda函数作为Websocket和API网关。还使用AWS-CLI在AWS S3上部署项目。我收到:
Task timed out after 6.01 seconds
增加超时或请求大小会给我同样的消息,但超时秒数会更多。奇怪的是,它在本地运行,但在部署到AWS时却无法运行。代码应该起作用。我认为AWS配置中缺少某些内容。
我创建了具有3个子网的单独VPC:2个私有和1个公共。我还使用公共子网Internet Network创建了NAT。我将路线添加到0.0.0.0/0。我维护了IAM角色以允许执行API等。
它发生在这里:
return this.ws
.postToConnection({
ConnectionId: connId,
Data: payloadStr
})
ws在哪里
this.ws = new ApiGatewayManagementApi({
apiVersion: '2018-11-29',
endpoint: endpoint
});
我检查了connId,它不是null。
我用架构更新了我的网络外观:
答案 0 :(得分:0)
我终于解决了这个问题。我的错误是我将Nat网关附加到专用子网而不是公共子网,所以此图是错误的。