Amazon API Gateway
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

管理连接的用户和客户端应用程序:$connect$disconnect 路由

$connect 路由

客户端应用程序通过发送 WebSocket 升级请求连接到 WebSocket API。如果请求成功,则在建立连接时会执行 $connect 路由。

由于 WebSocket 连接是有状态连接,因此您只能在 $connect 路由上配置授权。AuthN/AuthZ 仅在连接时执行。

在执行完与 $connect 路由关联的集成之前,升级请求处于待处理状态,将不会建立实际连接。如果 $connect 请求失败(例如,由于 AuthN/AuthZ 失败或集成失败),则不会建立连接。

注意

如果授权在 $connect 上失败,则不会建立连接,客户端将收到 401403 响应。

$connect 设置集成是可选的。但是,这样做会很有用,因为后端会收到连接的客户端的用户 ID。在以下情况下,您应该考虑设置 $connect 集成:

  • 您希望在客户端连接和断开连接时收到通知。

  • 您希望限制连接或控制谁会连接。

  • 您希望后端使用回调 URL 将消息发送回客户端。

  • 您希望将每个连接 ID 和其他信息存储到数据库中(例如,Amazon DynamoDB)。

$disconnect 路由

在连接关闭后,会执行 $disconnect 路由。

连接可以由服务器或客户端关闭。由于连接在执行它时已经关闭,$disconnect 是尽力而为的事件。API Gateway 将尽力为您的集成提供 $disconnect 事件,但不能保证交付。

后端可以使用 @connections API 启动断开连接。有关更多信息,请参阅 在后端服务中使用 @connections 命令