package lambda-runtime
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=58863594a2f94993208c749b77eb769cf5340b8d87bb9e5e994035ba331867ff
sha512=53c9e2c256f092c09e6ce7926b1bbcbdc93efcb727d5a755557d2eb7ab1c7b0ad0a3b8e708b01a70a6eda5ef6fa9714b40f79e172bc5d17aa2c434d8ecb9a9ca
README.md.html
OCaml Runtime for AWS Lambda
This package provides a custom runtime for AWS Lambda.
Example function
See the examples
folder.
Deploying
Note: Based on the instructions in this blog post and the Rust custom runtime repository
For a custom runtime, AWS Lambda looks for an executable called bootstrap
in the deployment package zip. Rename the generated basic
executable to bootstrap
and add it to a zip archive.
The Dockerfile (in conjunction with the build.sh
script) in this repo does just that. It builds a static binary called bootstrap
and drops it in the target directory.
$ ./build.sh && zip -j ocaml.zip bootstrap
Now that we have a deployment package (ocaml.zip
), we can use the AWS CLI to create a new Lambda function. Make sure to replace the execution role with an existing role in your account!
$ aws lambda create-function --function-name OCamlTest \
--handler doesnt.matter \
--zip-file file://./ocaml.zip \
--runtime provided \
--role arn:aws:iam::XXXXXXXXXXXXX:role/your_lambda_execution_role \
--tracing-config Mode=Active
You can now test the function using the AWS CLI or the AWS Lambda console
$ aws lambda invoke --function-name OCamlTest \
--payload '{"firstName": "world"}' \
output.json
$ cat output.json # Prints: {"message":"Hello, world!"}
Copyright & License
Copyright © 2018 António Nuno Monteiro
Distributed under the 3-clause BSD License (see LICENSE).