1 Answer
- Newest
- Most votes
- Most comments
0
Unfortunately, this is not possible without changes on the client side. When API Gateway receives a request, it can only do one thing. So it can't, for instance, store the payload in S3 and invoke the function. Also, Lambda has a payload limit of 6MB. API Gateway has a limit of 10MB, so potentially, even if there was a solution in Lambda, you would be blocked by the limit in API Gateway.
What we usually recommend is for the client to upload the payload to S3 and then pass the object name, but this requires a change in the client.
If this is not possible, you should probably go with Fargate containers behind an Application Load Balancer.
Relevant content
- asked 2 years ago
- asked 7 years ago
- AWS OFFICIALUpdated 3 months ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 2 years ago
Thanks for the Response @Uri . Agreed! However, is there any alternative solution or service that could work for my use case? My payload size won't exceed the apigateway limit, I’d prefer not to make any changes on the client side, particularly to the API Gateway endpoint. The entry point must remain as API Gateway.
I’ve tried integrating S3 with my API Gateway to trigger a Lambda function via event notifications, but I wasn’t able to achieve a synchronous flow. I need to send the Lambda response (success or failure) back to the client as part of the same API Gateway invocation. Is this possible? Or could I use Step Functions to orchestrate this flow in a single, synchronous call?