lambda-protobuf-demo
Demo using API Gateway and Lambda with Protocol Buffer.
In this demo you'll find 3 handlers:
- json - always return response in JSON
- proto - always return response in protocol buffer format, you need to set the
Acceptheader toapplication/x-protobuffor this to work otherwise API Gateway just returns the base64 string instead - contentNegotiated - uses the
Acceptheader to decide whether to return JSON or protocol buffer, and return406 Not Acceptableif theAcceptheader is neitherapplication/jsonnorapplication/x-protobuf
For more details, please read this blog post.
Deployment
If you're on Linux, run ./deploy.sh.
If you're not on Linux, run docker-compose up.
Why use docker for deployment? Because the protobufjs library used to encode
Protocol Buffer messages has a dependency that is distributed as a native
binary. So in order to get the right version you need to run grab the dependency
on a Linux system, docker provides a nice abstraction to do that.