kri*_*hna 7 amazon-web-services websocket aws-api-gateway
我们在执行 SDKpostToConnection()调用作为承诺时遇到错误,下面给出了完整的错误详细信息。同一函数中具有不同连接 ID 的其他调用成功发生。预期的 410 连接错误以毫秒为单位正确发生,并得到妥善处理。
然后,此错误需要 40 秒到一分钟多的时间才能返回,这会导致它始终在 Web 套接字 API 中导致“端点请求超时”错误,因为它有 30 秒的最大请求超时。有没有人遇到过这个问题和/或实施过任何解决方案?任何解决问题的想法将不胜感激,谢谢。
UnknownError:与 Object.extractError 处的端点通信的网络错误 (/opt/nodejs/node_modules/aws-sdk/lib/protocol/json.js:51:27)
小智 10
你想在连接处理程序中使用 postToConnection 吗?websocket 连接仅在连接处理程序返回 statusCode 200后创建。您不应在连接处理程序中使用 postToConnection。
为了避免在无服务器上使用 websocket 时出现 410 问题,请不要忘记捕获异常:
export const ApiGatewayConnector = (event) => {
const endpoint = process.env.IS_OFFLINE
? 'http://localhost:3001'
: `${event.requestContext.domainName}/${event.requestContext.stage}`
const apiVersion = '2018-11-29'
return new AWS.ApiGatewayManagementApi({ apiVersion, endpoint })
}
Run Code Online (Sandbox Code Playgroud)
....
if (event.requestContext.stage == 'local') {
await ApiGatewayConnector(event)
.postToConnection({ ConnectionId, Data })
.promise()
.catch(_ => removeId(ConnectionId));<----- N.B. Remove disconnected IDs
} else {
await ws.send(Data, ConnectionId)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2882 次 |
| 最近记录: |