All Projects → aws → Aws Lambda Dotnet

aws / Aws Lambda Dotnet

Licence: apache-2.0
Libraries, samples and tools to help .NET Core developers develop AWS Lambda functions.

Projects that are alternatives of or similar to Aws Lambda Dotnet

Architect
The simplest, most powerful way to build serverless applications
Stars: ✭ 1,925 (+103.7%)
Mutual labels:  aws, serverless, aws-lambda, aws-apigateway
Aws Serverless Auth Reference App
Serverless reference app and backend API, showcasing authentication and authorization patterns using Amazon Cognito, Amazon API Gateway, AWS Lambda, and AWS IAM.
Stars: ✭ 724 (-23.39%)
Mutual labels:  aws, serverless, aws-lambda, aws-apigateway
Chalice
Python Serverless Microframework for AWS
Stars: ✭ 8,513 (+800.85%)
Mutual labels:  aws, serverless, aws-lambda, aws-apigateway
Serverless Sam
Serverless framework plugin to export AWS SAM templates for a service
Stars: ✭ 143 (-84.87%)
Mutual labels:  aws, serverless, aws-lambda, aws-apigateway
Archive aws Lambda Go Net
Network I/O interface for AWS Lambda Go runtime.
Stars: ✭ 151 (-84.02%)
Mutual labels:  aws, serverless, aws-lambda, aws-apigateway
Cloudmagick
CloudMagick is a serverless application which provides a dynamic image transformation like the small light module of apache2
Stars: ✭ 11 (-98.84%)
Mutual labels:  aws, serverless, aws-lambda, aws-apigateway
Aws Lambda Typescript
This sample uses the Serverless Application Framework to implement an AWS Lambda function in TypeScript, deploy it via CloudFormation, publish it through API Gateway to a custom domain registered on Route53, and document it with Swagger.
Stars: ✭ 228 (-75.87%)
Mutual labels:  aws, serverless, aws-lambda, aws-apigateway
Serverless Photo Recognition
A collection of 3 lambda functions that are invoked by Amazon S3 or Amazon API Gateway to analyze uploaded images with Amazon Rekognition and save picture labels to ElasticSearch (written in Kotlin)
Stars: ✭ 345 (-63.49%)
Mutual labels:  aws, serverless, aws-lambda, aws-apigateway
Chromda
λ 🖼️ Chromda is an AWS Lambda function for capturing screenshots of websites.
Stars: ✭ 481 (-49.1%)
Mutual labels:  aws, serverless, aws-lambda
Webiny Js
Enterprise open-source serverless CMS. Includes a headless CMS, page builder, form builder and file manager. Easy to customize and expand. Deploys to AWS.
Stars: ✭ 4,869 (+415.24%)
Mutual labels:  aws, serverless, aws-lambda
Aws Auto Terminate Idle Emr
AWS Auto Terminate Idle AWS EMR Clusters Framework is an AWS based solution using AWS CloudWatch and AWS Lambda using a Python script that is using Boto3 to terminate AWS EMR clusters that have been idle for a specified period of time.
Stars: ✭ 21 (-97.78%)
Mutual labels:  aws, serverless, aws-lambda
Mangum
AWS Lambda & API Gateway support for ASGI
Stars: ✭ 475 (-49.74%)
Mutual labels:  aws, serverless, aws-lambda
Serverless Offline
Emulate AWS λ and API Gateway locally when developing your Serverless project
Stars: ✭ 4,330 (+358.2%)
Mutual labels:  serverless, aws-lambda, aws-apigateway
Archive aws Lambda Go
A fast and clean way to execute Go on AWS Lambda.
Stars: ✭ 710 (-24.87%)
Mutual labels:  aws, serverless, aws-lambda
Serverless Rust
⚡ 🦀 a serverless framework plugin for rustlang applications
Stars: ✭ 386 (-59.15%)
Mutual labels:  aws, serverless, aws-lambda
Archive aws Lambda Go Shim
Author your AWS Lambda functions in Go, effectively.
Stars: ✭ 799 (-15.45%)
Mutual labels:  aws, serverless, aws-lambda
Claudia
Deploy Node.js projects to AWS Lambda and API Gateway easily
Stars: ✭ 3,690 (+290.48%)
Mutual labels:  aws, serverless, aws-lambda
Lambda Packages
Various popular python libraries, pre-compiled to be compatible with AWS Lambda
Stars: ✭ 713 (-24.55%)
Mutual labels:  aws, serverless, aws-lambda
Serverless Plugin Warmup
Keep your lambdas warm during winter. ♨
Stars: ✭ 814 (-13.86%)
Mutual labels:  aws, serverless, aws-lambda
Aws Lambda Workshop
Some incremental examples suitable to host an AWS Lambda Functions workshop
Stars: ✭ 18 (-98.1%)
Mutual labels:  aws, serverless, aws-lambda

AWS Lambda for .NET Core Gitter

Repository for the AWS NuGet packages and Blueprints to support writing AWS Lambda functions using .NET Core.

For a history of releases view the release change log

Table of Contents

NuGet Packages

This repo contains a number of different tools and libraries to support development of Lambda functions using .NET. These packages have individual README docs outlining specific information for that particular package. These packages are cataloged here.

Events

This packages in this folder contains classes that can be used as input types for Lambda functions that process various AWS events.

These are the packages and their README.md files:

Amazon.Lambda.Tools

Package adds commands to the dotnet cli that can be used manage Lambda functions including deploying a function from the dotnet cli. For more information see the README.md file for Amazon.Lambda.Tools.

Global Tool Migration

As of September 10th, 2018 Amazon.Lambda.Tools has migrated to be .NET Core Global Tools. As part of the migration the version number was set to 3.0.0.0

To install Amazon.Lambda.Tools use the dotnet tool install command.

dotnet tool install -g Amazon.Lambda.Tools

To update to the latest version of Amazon.Lambda.Tools use the dotnet tool update command.

dotnet tool update -g Amazon.Lambda.Tools
Migrating from DotNetCliToolReference

To migrate an existing project away from the older project tool, you need to edit your project file and remove the DotNetCliToolReference for the Amazon.Lambda.Tools package. For example, let's look at an existing Lambda project file.

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>

    <-- The new property indicating to AWS Toolkit for Visual Studio this is a Lambda project -->
    <AWSProjectType>Lambda</AWSProjectType>
  </PropertyGroup>
  
  <ItemGroup>
    <-- This line needs to be removed -->
    <DotNetCliToolReference Include="Amazon.Lambda.Tools" Version="2.2.0" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Amazon.Lambda.Core" Version="1.0.0" />
    <PackageReference Include="Amazon.Lambda.Serialization.Json" Version="1.3.0" />
  </ItemGroup>
</Project>

To migrate this project, you need to delete the DotNetCliToolReference element, including Amazon.Lambda.Tools. If you don't remove this line, the older project tool version of Amazon.Lambda.Tools will be used instead of an installed Global Tool.

The AWS Toolkit for Visual Studio before .NET Core 2.1 would look for the presence of Amazon.Lambda.Tools in the project file to determine whether to show the Lambda deployment menu item. Because we knew we were going to switch to Global Tools, and the reference to Amazon.Lambda.Tools in the project was going away, we added the AWSProjectType property to the project file. The current version of the AWS Toolkit for Visual Studio now looks for either the presence of Amazon.Lambda.Tools or the AWSProjectType set to Lambda. Make sure when removing the DotNetCliToolReference that your project file has the AWSProjectType property to continue deploying with the AWS Toolkit for Visual Studio.

Amazon.Lambda.AspNetCoreServer

Package makes it easy to run ASP.NET Core Web API applications as Lambda functions. For more information see the README.md file for Amazon.Lambda.AspNetCoreServer.

Amazon.Lambda.TestUtilities

Package includes test implementation of the interfaces from Amazon.Lambda.Core and helper methods to help in locally testing. For more information see the README.md file for Amazon.Lambda.TestUtilities.

Blueprints

Blueprints in this repository are .NET Core Lambda functions that can used to get started. In Visual Studio the Blueprints are available when creating a new project and selecting the AWS Lambda Project.

Dotnet CLI Templates

New .NET Core projects can be created with the dotnet new command. By installing the Amazon.Lambda.Templates NuGet package the AWS Lamdba blueprints can be created from the dotnet new command. To install the template execute the following command:

dotnet new -i "Amazon.Lambda.Templates::*"

The ::* on the end of the command indicates the latest version of the NuGet package.

To see a list of the Lambda templates execute dotnet new lambda --list

> dotnet new lambda --list                                                                                             
Templates                                                 Short Name                              Language          Tags

---------------------------------------------------------------------------------------------------------------------------------------------------------
Order Flowers Chatbot Tutorial                            lambda.OrderFlowersChatbot              [C#]              AWS/Lambda/Function

Lambda Detect Image Labels                                lambda.DetectImageLabels                [C#], F#          AWS/Lambda/Function

Lambda Empty Function                                     lambda.EmptyFunction                    [C#], F#          AWS/Lambda/Function

Lex Book Trip Sample                                      lambda.LexBookTripSample                [C#]              AWS/Lambda/Function

Lambda Simple DynamoDB Function                           lambda.DynamoDB                         [C#], F#          AWS/Lambda/Function

Lambda Simple Kinesis Firehose Function                   lambda.KinesisFirehose                  [C#]              AWS/Lambda/Function

Lambda Simple Kinesis Function                            lambda.Kinesis                          [C#], F#          AWS/Lambda/Function

Lambda Simple S3 Function                                 lambda.S3                               [C#], F#          AWS/Lambda/Function

Lambda Simple SQS Function                                lambda.SQS                              [C#]              AWS/Lambda/Function

Lambda ASP.NET Core Web API                               serverless.AspNetCoreWebAPI             [C#], F#          AWS/Lambda/Serverless

Lambda ASP.NET Core Web Application with Razor Pages      serverless.AspNetCoreWebApp             [C#]              AWS/Lambda/Serverless

Serverless Detect Image Labels                            serverless.DetectImageLabels            [C#], F#          AWS/Lambda/Serverless

Lambda DynamoDB Blog API                                  serverless.DynamoDBBlogAPI              [C#]              AWS/Lambda/Serverless

Lambda Empty Serverless                                   serverless.EmptyServerless              [C#], F#          AWS/Lambda/Serverless

Lambda Giraffe Web App                                    serverless.Giraffe                      F#                AWS/Lambda/Serverless

Serverless Simple S3 Function                             serverless.S3                           [C#], F#          AWS/Lambda/Serverless

Step Functions Hello World                                serverless.StepFunctionsHelloWorld      [C#], F#          AWS/Lambda/Serverless

To get details about a template, you can use the help command.

dotnet new lambda.EmptyFunction --help

Template Instantiation Commands for .NET Core CLI.                                                                                          
                                                                                                                                           
Lambda Empty Function (C#)                                                                                                                  
Author: AWS                                                                                                                                 
Options:                                                                                                                                    
  -p|--profile  The AWS credentials profile set in aws-lambda-tools-defaults.json and used as the default profile when interacting with AWS.
                string - Optional                                                                                                           
                                                                                                                                           
  -r|--region   The AWS region set in aws-lambda-tools-defaults.json and used as the default region when interacting with AWS.              
                string - Optional  

The templates take two optional parameters to set the profile and region. These values are written to the aws-lambda-tools-default.json.

To create a function, run the following command

dotnet new lambda.EmptyFunction --name BlogFunction --profile default --region us-east-2

Yeoman (Deprecated)

The Yeoman generators have been deprecated in favor of the new dotnet new templates. They will not be migrated from the older project.json based project system.

Getting Help

To learn more about the various packages in this repo, please reference our Learning Resources document. In particular, please be sure to read through the official Lambda Developer Guide.

If those resources are not sufficient to answer your question or resolve your issue, please feel free to open an issue on this repo.

Feedback and Contributing

We welcome community contributions to our codebase and tools! If you would like to contribute, please read through the CONTRIBUTING.md document (our contribution guide) and check issues and open pull requests to ensure that the fix/feature you want to contribute is not already in development.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].