GitXplorerGitXplorer
z

lambda-native

public
73 stars
7 forks
3 issues

Commits

List of commits on branch master.
Verified
f38017577c4917031d1c6849c837170527b78b24

Update README.md

zzaccharles committed 5 years ago
Verified
676c104b7eee00b463bd8b43d381f66611f1730c

Delete bootstrap

zzaccharles committed 6 years ago
Verified
4826df5e42367fc47d834f4675909ce9bdbb9bb9

Delete package.zip

zzaccharles committed 6 years ago
Unverified
5f990e41b1cf437c0937d3ab3ab248016e11afc8

Re-add tag and suffix check

zzaccharles committed 6 years ago
Unverified
840c73f3972d1732a3015c2485512f1ab6c9aae6

Further build config

zzaccharles committed 6 years ago
Unverified
d1d841a35359036870b83f037a3cba4315d7e949

Update csproj

zzaccharles committed 6 years ago

README

The README file for this repository.

LambdaNative

Make .NET AWS Lambda functions start 10x faster using LambdaNative.

No Maintenance Intended Build status nuget

Usage

To use LambdaNative in your own project, please see the README in the example directory.

How It Works

At the end of 2018, AWS announced Custom Runtimes and the Runtime API that enables them. In a nutshell, you select Custom Runtime and provide an executable named file bootstrap (in your ZIP file) which AWS Lambda will execute instead of its own. You're then responsible for interacting with an HTTP API to get executions, running handler code, and reporting the result or any errors back to the API.

LambdaNative is a library that handles all the API interaction and error handling for you. All you need to do is tell it which handler to execute by implementing an interface and calling LambdaNative.Run.

You can then use CoreRT to perform ahead of time compilation, producing a native executable that doesn't require any runtime compilation.

Below is a comparison between a standard function and one running under LambdaNative. The function deserialies a request object, writes to DynamoDB, publishes an SNS message, and returns a response object.

For more information and comparisons, please read this Medium post.

Development and Testing

Prerequisites

Building

Clone repository

> git clone https://github.com/zaccharles/lambda-native.git

Restore NuGet packages

> dotnet restore

Build solution

> dotnet build

Testing

Run unit tests

> dotnet test

Contributing

If you find any problems or have any suggestions, please raise an issue or send a pull request.

License

This project is licensed under the MIT License - see the LICENSE file for details