WebSocket APIs在API閘道中設定路由回應 - Amazon API Gateway

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

WebSocket APIs在API閘道中設定路由回應

WebSocket 路由可以設定為雙向或單向通訊。API除非您設置了路由響應,否則 Gateway 不會將後端響應傳遞給路由響應。

注意

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

您可以使用API閘道主控台或或設定路由回應和回應選取表示式 AWS SDK。 AWS CLI

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

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

在您建立 Proxy Lambda 函數 WebSocket API並將其附加至預設路由之後,您可以使用API閘道主控台設定路由回應:

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

  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令,如下列範例所示。您可以通過調用和來識別 ID get-apis和路由 ID get-routes。API

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

輸出範例:

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