在 API Gateway 中設定 WebSocket API 的路由回應 - Amazon API Gateway

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 API Gateway 中設定 WebSocket API 的路由回應

WebSocket 路由可以設定為雙向或單向通訊。API Gateway 不會將後端回應傳遞至路由回應,除非您有設定路由回應。

注意

您只能定義 WebSocket API 的$default路由回應。您可以使用整合回應來操作後端服務的回應。如需詳細資訊,請參閱 整合回應概觀

您可以使用 API Gateway 主控台或或 AWS SDK 來設定路由回應和回應選取運算式。 AWS CLI

如需路由回應選擇表達式的詳細資訊,請參閱 路由回應選擇表達式

使用 API Gateway 主控台設定路由回應

建立 WebSocket API 並將代理 Lambda 函數附加至預設路由後,您可以使用 API Gateway 主控台設定路由回應:

  1. 登入 API Gateway 主控台,選擇$default路由上具有代理 Lambda 函數整合的 WebSocket API。

  2. Routes (路由) 下選擇 $default 路由。

  3. 選擇啟用雙向通訊

  4. 選擇部署 API

  5. 將您的 API 部署至階段。

使用下列 wscat 命令來連線到您的 API。如需 wscat 的相關資訊,請參閱 用wscat於連接到 WebSocket API 並向其發送消息

wscat -c wss://api-id.execute-api.us-east-2.amazonaws.com/test

按下 Enter 按鈕以呼叫預設路由。您 Lambda 函數的主體應該會傳回。

使用設定路由回應 AWS CLI

若要使用設定 WebSocket API 的路由回應 AWS CLI,請呼叫命create-route-response令,如下列範例所示。您可以透過呼叫 get-apisget-routes 來識別 API ID 和路由 ID。

aws apigatewayv2 create-route-response \ --api-id aabbccddee \ --route-id 1122334 \ --route-response-key '$default'

輸出範例:

{ "RouteResponseId": "abcdef", "RouteResponseKey": "$default" }