API-Gateway => Lambda isn't fun to trouble shoot.
That said, once you get it working, it works really well, and it's ridiculously cheap.
API-Gateway => Lambda isn't fun to trouble shoot.
That said, once you get it working, it works really well, and it's ridiculously cheap.
The biggest pains are:
* Mapping parameters in API Gateway
* Setting the IAM Roles for API Gateway & Lambda (the latter is required to provide execution for API Gateway)
* Setting up custom domains for your API (it uses cloudfront, but must be done via the commandline, and the process kind of sucks)
I've done this work now 3 times. Feel free to email me any questions you have: balasuar@gmail.com and I'll be happy to answer, and provide guidance.
pip install zappa
It supports all of the Languages for Lambda, not just Python.
One tip regarding your workflow: don't pipe data from S3 to Lambda to your client unless you really have to. You can use S3 pre-signed URLs to granularly delegate access to S3 objects for a limited time, then refer your client to them. Even if you are generating the binary content on the fly in your lambda, it's easier to save it to S3 and refer the client to that. That said, if your content is truly too dynamic to live on S3, then gzip+base64 encoding it, serving it in json and decoding/displaying it in javascript should be straightforward.