Why from scratch? most of the time when starting a new project using a new technology, we are provided with some templates/boilerplate to get started quickly without worrying too much about how to set everything up.
Some examples:
$ dotnet new lambda.EmptyFunction --name HelloLambda
$ sam init -r dotnetcore2.1 -n HelloLambda
$ serverless create --template aws-csharp --path HelloLambda
While this is great to just get started and quickly see "something working", it doesn't help us to understand the underlying technology plumbing logic that every time is more complex as we build on top of previous abstraction layers.
In this tutorial, we are going to start with the bare minimum to get a Lambda function running and build from there. We'll progressively increase complexity in the examples.
- AWS Account (free tier is enough)
- AWS CLI (at least one profile configured)
- .NET Core 2 SDK
- Docker (CE is enough)
- AWS SAM CLI
Verify everything is good to go.
$ aws --version
aws-cli/1.15.59 Python/2.7.15 Linux/4.9.0-4-amd64 botocore/1.10.58
$ dotnet --version
2.1.302
$ sam --version
SAM CLI, version 0.5.0
$ docker --version
Docker version 18.03.1-ce, build 9ee9f40
- Lesson 01 - Creating a Lambda Function from scratch
- Lesson 02 - Deploy to AWS environment - AWS CLI
- Lesson 03 - Deploy to AWS environment - SAM CLI
- Lesson 04 - Deploy to AWS environment - dotnet lambda
- Lesson 05 - Complex input / output and logging
- Lesson 06 - API Gateway - Introduction
- Lesson 07 - API Gateway - OpenAPI (Swagger) Specification
- Lesson 08 - API Gateway - CloudFormation
- Lesson 09 - API Gateway - Lambda integration
- Lesson 10 - API Gateway - Proxy integration
- Lesson 01 - Creating a Lambda Function from scratch
- Lesson 02 - Deploy to AWS environment - AWS CLI
- Lesson 03 - Deploy to AWS environment - SAM CLI
- Lesson 04 - Deploy to AWS environment - dotnet lambda
- Lesson 05 - Complex input / output and logging
- Lesson 06 - API Gateway - Introduction
- Lesson 07 - API Gateway - OpenAPI (Swagger) Specification
- Lesson 08 - API Gateway - CloudFormation
- Lesson 09 - API Gateway - Lambda integration
- Lesson 10 - API Gateway - Proxy integration
- Lesson 11 - Some back end code (DynamoDb)
- Lesson 12 - TBD