本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
API閘道 WebSocket APIs中的概觀
在API閘道中,您可以 WebSocket API為 AWS 服務 (例如 Lambda 或 DynamoDB) 或端點建立為可設定狀態的前端。HTTP根據從客戶端應用程序接收的消息的內容 WebSocket API調用後端。
與接收和響應請求的不同, WebSocket API支持客戶端應用程序和後端之間的雙向通信。REST API該後端可以將回呼訊息傳送到連線用戶端。
在您的中 WebSocket API,傳入的JSON消息將根據您配置的路由定向到後端集成。(非JSON訊息會導向至您設定的$default
路由。)
路由包含的路由金鑰,是您可以在路由選擇表達式經評估後即預期的值。routeSelectionExpression
是在層級定義的屬API性。它指JSON定預期將存在於消息有效負載的屬性。如需路由選擇表達式的詳細資訊,請參閱路由選擇表達式。
例如,如果您的JSON郵件包含action
屬性,而您想要根據此屬性執行不同的動作,則您的路由選取運算式可能是${request.body.action}
。您的路由表將指定要執行哪一個動作,方法是將 action
屬性值與您在資料表中定義的自訂路由鍵值進行比對。
使用路由 WebSocket API
有三種預先定義的路由可供使用:$connect
、$disconnect
和 $default
。此外,您可以建立自訂路由。
-
API當用戶端與 a 之間的持續連
$connect
線正在起始時,閘道會呼 WebSocket API叫路由。 -
API當用戶端或伺服器與中斷連
$disconnect
線時,閘道會呼叫路由。API -
API如果找到相符的路由,Gateway 會在針對訊息評估路由選取表示式之後呼叫自訂路由;相符項目會決定叫用哪一個整合。
-
API如果無法根據訊息評估路由選取表示式,或者找不到相符的路由,Gateway 會呼叫路由。
$default
如需 $connect
和 $disconnect
路由的相關資訊,請參閱管理連線使用者和用戶端應用程式:$connect和$disconnect路由。
如需 $default
路由和自訂路由的相關資訊,請參閱在API閘道中叫用$default路由和自訂路由的後端整合。
傳送資料至連線的用戶端應用
後端服務可將資料傳送到連線的用戶端應用程式。您可以執行下列動作來傳送資料:
-
使用整合來傳送回應,回應會由您定義的路由回應傳回給用戶端。
-
您可以使用
@connections
API來傳送POST請求。如需詳細資訊,請參閱 在後端服務使用 @connections 命令。