Amazon web services 如何通过websocket向API网关发送请求?

Amazon web services 如何通过websocket向API网关发送请求?,amazon-web-services,aws-api-gateway,Amazon Web Services,Aws Api Gateway,我用websocket创建了一个API网关。我在$connect route中将请求/响应集成添加到我的lambda中。然后我将API部署到staging,我可以看到在staging页面上生成了一个wss和httpsURL。 然后我使用wscat命令测试websocket连接: wscat -c wss://xxxx.execute-api.ap-southeast-2.amazonaws.com/dev 但是我得到一个错误响应:错误:意外的服务器响应:500 我在API上没有任何身份验证。我

我用websocket创建了一个API网关。我在$connect route中将请求/响应集成添加到我的lambda中。然后我将API部署到staging,我可以看到在staging页面上生成了一个
wss
https
URL。 然后我使用
wscat
命令测试websocket连接:

wscat -c wss://xxxx.execute-api.ap-southeast-2.amazonaws.com/dev
但是我得到一个错误响应:
错误:意外的服务器响应:500


我在API上没有任何身份验证。我已经检查了我的lambda日志,它没有被调用。这意味着请求在API网关上失败。“我的API网关”中可能有什么错误?

您要将$connect路由集成到的lambda需要API网关调用的权限

添加以下权限:

负责人:apigateway.amazonaws.com

效果:允许

操作:lambda:InvokeFunction

还可以为API网关启用Cloudwatch日志,以便在命中lambda之前更好地了解如果出现故障会发生什么


Stages->Logs/Tracing->CloudWatch Settings->Enable CloudWatch Logs

要将$connect路由集成到的lambda需要apigateway调用权限

添加以下权限:

负责人:apigateway.amazonaws.com

效果:允许

操作:lambda:InvokeFunction

还可以为API网关启用Cloudwatch日志,以便在命中lambda之前更好地了解如果出现故障会发生什么

阶段->日志/跟踪->CloudWatch设置->启用CloudWatch日志