Demo using API Gateway and Lambda with Protocol Buffer
Switch branches/tags
Nothing to show
Clone or download
Permalink
Failed to load latest commit information.
.vscode
functions
tests
.gitignore
LICENSE
README.md
deploy.sh
docker-compose.yml
event.json
package-lock.json
package.json
serverless.yml

README.md

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 Accept header to application/x-protobuf for this to work otherwise API Gateway just returns the base64 string instead
  • contentNegotiated - uses the Accept header to decide whether to return JSON or protocol buffer, and return 406 Not Acceptable if the Accept header is neither application/json nor application/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.