- Managed Runtime – This option uses a.zip file archive to deploy the package.
- Managed base container image – Pull from the ECR Public Gallery, or use the.NET container image Blueprint in AWS Toolkit Visual Studio.
- Create a custom container image – This will allow you to include the.NET 6 application inside a container image. This PowerShell script will create a.NET6 base container image.
- Custom runtime – The custom rantime bundles all the necessary.NET6 libraries in the zip archive that is deployed at Lambda. See this example. This example shows how to create an ARM64.
AWS announced that its serverless developers will now be able to use the most recent languages — C#10 and F# 6 — in addition to being able access to the latest languages — C#10 and F# 6 — AWS also stated that they can now take advantage of a host other.NET 6 features, including:
- Improved logging
- Use source generator to serialize JSON
- Top-level statements
- ASP.NET Core minimum APIs
AWS also noted the switch to an open source Lambda runtime client, one of many projects that Amazon has open sourced and placed in the aws/aws-lambda-dotnet GitHub repository over the past few years. The open source client for runtime was previously only used in certain situations, such as functions that used Lambda’s custom runtime or container image-based support. AWS stated that the Lambda client experience is consistent and transparent in all environments, including managed runtimes, container images, and Lambda runtime clients for.NET custom runstimes. The switch from the old runtime client to open source runtime clients is seamless as Lambda functions have been migrated to.NET 6. This post also contains instructions for migrating from.NET 6. AWS concluded that they were excited to add support to.NET 6 to Lambda. It’s easy to migrate existing functions to.NET 6 and it’s quick to get started. There are many new features in.NET 6. For more information, see the Lambda Developer Guide.