Starter template for serverless framework with following scope:
Verify that everything is installed (copy & paste)
# package manager for nodejs npm -v # serverless framework cli > 1.5 sls -v # dotnet (cli) > 6.0 dotnet --versionInstallation (copy & paste)
# clone solution # serverless create --template-url https://github.com/pharindoko/serverlessDotNetStarter --path {SERVICE_NAME} serverless create --template-url https://github.com/pharindoko/serverlessDotNetStarter --path serverlessDotNetStarter cd serverlessDotNetStarter # restore / install dotnet references described in csproj file dotnet restore AwsDotnetCsharp.csproj # install Lambda NET Mock Test Tool and Amazon Lambda Tools # more details: https://github.com/aws/aws-lambda-dotnet/tree/master/Tools/LambdaTestTool dotnet tool install -g Amazon.Lambda.Tools dotnet tool install --global Amazon.Lambda.TestTool-6.0 dotnet tool list -g # required dotnet packages: # # Package Id Version Commands ------------------------------------------------------------------------ #amazon.lambda.testtool-6.0 0.12.4 dotnet-lambda-test-tool-6.0 #amazon.lambda.tools 5.4.5 dotnet-lambda
For VS Code Debugging:
code --install-extension ms-dotnettools.csharp --force
I followed this guideline: (Please read in case of issues)
How to Debug .NET Core Lambda Functions Locally with the Serverless Framework
1. Open Visual Studio Code# open Visual Studio Code code .2. Setup Amazon Lambda Testtool
Edit the "program" property in .vscode/launch.json file and update placeholder for {user} (placeholders marked in bold)
"program": /Users/{user}/.dotnet/tools/dotnet-lambda-test-tool-6.0
"program": /Users/{user}/.dotnet/tools/dotnet-lambda-test-tool-6.0
More information:
In case of issues - try this:
"program": /Users/{user}/.dotnet/tools/.store/amazon.lambda.testtool-6.0/{nuget-version}/amazon.lambda.testtool-6.0/{nuget-version}/tools/net6.0/any/Amazon.Lambda.TestTool.WebTester6.0.dll",
how to get the right nuget version ?
dotnet tool list -g
Result:
Package Id Version Commands
------------------------------------------------------------------------
amazon.lambda.testtool-6.0 e.g. version 0.12.4 dotnet-lambda-test-tool-6.0
3. Press F5 to start the debugging and local testing of lambda function
Test Another Example: getquerystringyou should get hello world as a result.
Select function to getquerystring (upper right dropdownlist)
Insert this json value in the function input textbox for a first test:
{ "httpMethod": "GET", "queryStringParameters": { "foo": "dfgdfg", "woot": "food" } }
Mind: For a successful response querystringParameter foo must be inserted
Mac OS or Linux
Windows
Deploy via Serverless FrameworkA cloudformation stack in AWS will be created in background containing all needed resources
After successful deployment you can see following outputService Information service: myService stage: dev region: us-east-1 stack: myService-dev resources: 10 api keys: None endpoints: GET - endpointUrl --> https://{api}.execute-api.us-east-1.amazonaws.com/dev/hello functions: hello: myService-dev-hello layers: NoneTest endpoint after deployment
2 simple options:
Use the endpointUrl from up above.
curl https://{api}.execute-api.us-east-1.amazonaws.com/dev/hello curl https://{api}.execute-api.us-east-1.amazonaws.com/dev/getquerystring?foo=test
Mind: For a successful response of function getquerystring the querystringParameter foo must be inserted
Can I use the solution with Visual Studio IDE (2017 or 2019)Please have a look to the serverless guideline: https://serverless.com/framework/docs/providers/aws/guide/deploying/
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4