How can I send a response body back to a client from an AWS Lambda function through API Gateway WebSocket

1

API gateway configured to call a lambda application for $default messages.

The Java Lambda application where I return an APIGatewayV2WebSocketResponse object as a response. Before returning, I set the response code and response body.

However, the client does not receive these responses. How can I ensure that the client receives the response code and body.

2 個答案
0
已接受的答案

Hi, you need to post the message using the Api Gateway Management API, indicating the Connection Id where you need to send your message to and your API url. You can use the aws sdk to do this, you can use the postToConnection method in the AmazonApiGatewayManagementApiClient class. Please check

AWS
已回答 2 個月前
0

Hi, You could enable 2-way communication on API Gateway websocket to send the response back to client. After 2-way communication is enabled,

  • For proxy integrations, API Gateway automatically passes the backend output to the caller as the complete payload. There is no integration response.
  • For non-proxy integrations, you must set up at least one integration response:

Kindly refer this doc for more details.

Additionally, you could also use "postToConnection" as explained in post, However this requires additional code to be written on the integration side to Post the message back to client

profile pictureAWS
Bony_T
已回答 2 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南