Recently I started experimenting with .Net Core and AWS Lambda functions, I thought I will share the steps I took to get started
Tools to install
- .Net Core 3.1 - https://dotnet.microsoft.com/download/dotnet-core/3.1
- AWS CLI - https://aws.amazon.com/cli/
- AWS Account - 12 months Free Tier - https://aws.amazon.com/free
- Terminal - on iOS I use iTerm2 - https://www.iterm2.com
Once you installed the above tools, head to AWS console and login with your root account to create an account which will be used by AWS CLI. Please see steps here
Now you can configure AWS CLI as detailed here. Verify that you able to connect to AWS service using CLI.
To make life little easy with dotnet core and Lambda functions, you need to install AWS Extensions nuget pack for .Net CLI
dotnet tool install -g Amazon.Lambda.Tools
You can also install templates to get started quickly
dotnet new -i Amazon.Lambda.Templates
That's it. Now the fun part!!!
Create a new project
- In terminal window, check the templates installed.
dotnet new help
Pick a template for Lambda functions. For this example I have used serverless.AspNetCoreWebAPI
dotnet new
serverless.AspNetCoreWebAPI -n SampleApp
This will create a new app under SampleApp folder. Navigate to SampleApp/src/SampleApp folder and build the app
dotnet build
Now run the app locally
dotnet run
This will start you .Net API running locally. The magic is happening in LocalEntryPoint.cs file which is like your Program.cs which contains the main method and which bootstraps your api. Now you can test your api on localhost:5000 or 5001
If you get error while testing on https port, use this command
dotnet dev-certs https --trust
You can view detailed article about this issue from Scott Hanselman.
In the next post we will look at how to deploy Lambda function in your AWS account.
Comments