Are API Gateway Websocket APIs treated as asynchronous?

0

Hi,

I'm looking at setting up a Websocket API, with a Lambda as the message handler.

If my Lambda can't scale up quick enough, what happens? Will the messages be retried by API Gateway? Will the client think the message worked, or will they get an error? And if retries happen, how many - is there any possibility the message will get lost and I won't know about it?

Thanks for the help. Excited to try this!

已提問 4 年前檢視次數 568 次
2 個答案
1

Unless you configure the route as two-way, client to WebSocket API is one-way. In the case, when Lambda invocation is failed, the client will not receive anything. If you configure the route as two-way, the client will receive the error response.
Alternatively, you could configure the route one-way and make your Lambda to send ACK message to the client. In this case, you need to handle when the client doesn't receive the ACK in a given amount of time.

API Gateway doesn't retry for the message. You may use SQS for the better reliability and re-drive the message.
Client - API Gateway - SQS - Lambda

But still client-side retry is also recommended since API Gateway to SQS can be failed as well.

AWS
已回答 4 年前
0

Thanks for the reply! It's good to know that we only get one try at sending the message.

已回答 4 年前

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

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

回答問題指南