出现以上问题的原因是 WebSocket API Gateway 无法正确地获取 Lambda 函数中的 event.requestContext。这个问题的解决方案实际上很简单,只需要对 WebSocket API Gateway 的集成请求进行一些调整即可。
下面是一个示例代码,可以帮助解决这个问题:
exports.handler = async(event, context, callback) => { const domainName = event.requestContext.domainName; const stage = event.requestContext.stage; const connectionId = event.requestContext.connectionId;
// 对返回的 connectionId 执行一些操作 }
上面的示例代码通过 Lambda 函数获取了 event.requestContext,并从中提取出了 domainName、stage 和 connectionId。在 WebSocket API Gateway 中,将 Lambda 函数的 ARN 添加到 WebSocket API Gateway 的集成请求中,并启用“Use Lambda Proxy integration”以便将 event 对象轻松地传递到 Lambda 函数中。
这个修改后的 WebSocket API Gateway 请求将会包含一个正确的 event.requestContext,使得 Lambda 函数能够正确地处理连接请求,并返回需要的数据。
上一篇:APIGateway,Lambda,NestJSURLNotFound
下一篇:APIGateway-Sagemaker集成时,“inputLocation”值为null,未能满足约束条件:在使用APIGateway-Sagemaker集成时,成员不能为空。