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 Antworten
0
Akzeptierte Antwort

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
beantwortet vor 2 Monaten
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
beantwortet vor 2 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen