Amazon Web Services (AWS) Lambda function code can now be developed in C# using the .NET Core 2.1 runtime which will soon be the Long Term Support (LTS) version of .NET Core. Any of the new runtime features such as the more performant HTTP client implementation and types for representing contiguous regions of arbitrary memory can be used.
The easiest way to get started is with the AWS Toolkit for Visual Studio which includes project templates for individual C# Lambda functions, full C# serverless applications, and tools to publish both project types to AWS.
To manually create a C# Lambda function,Lambda runtime parameter should be specified as dotnetcore2.1 and the ZIP of all NuGet dependencies as well as ones own published DLL assemblies to be uploaded through the AWS CLI or AWS Lambda console. The AWS Serverless Application Model (SAM) can be used to deploy and manage serverless applications authored in C#.
The Lambda programming model for 2.1 is fully compatible with 2.0. If there is existing C# functions running on 2.0, simply switch to the new runtime by updating .NET project’s target framework moniker to netcoreapp2.1 and re-deploying the function with the new dotnetcore2.1 runtime.
The .NET Core 2.1 runtime is available in all regions where Lambda is available.