Goa.Templates 0.6.0-preview.1

This is a prerelease version of Goa.Templates.
dotnet new install Goa.Templates::0.6.0-preview.1
                    
This package contains a .NET Template Package you can call from the shell/command line.

Goa AWS Lambda Templates

Project templates for creating AWS Lambda functions using the Goa framework with built-in support for high-performance, AOT-compiled .NET applications.

Available Templates

API Gateway Lambda (goa.apigw)

Creates a Lambda function for API Gateway integration using ASP.NET Core.

Usage:

dotnet new goa.apigw -n MyApiFunction

Options:

  • --functionType - Choose API Gateway type:
    • httpv2 (default) - HTTP API with V2 payload format
    • httpv1 - HTTP API with V1 payload format
    • restapi - REST API
  • --includeOpenApi - Include OpenAPI documentation with Scalar UI (default: false)

Features:

  • ASP.NET Core routing and endpoints
  • JSON source generation for optimal performance
  • AOT compilation ready
  • Sample /ping endpoint included

API Gateway Authorizer (goa.authorizer)

Creates a Lambda function for API Gateway custom authorization.

Usage:

dotnet new goa.authorizer -n MyAuthorizer

Options:

  • --authorizerType - Choose authorizer type:
    • token (default) - TOKEN authorizer validates using authorization token
    • request - REQUEST authorizer validates using request parameters

Features:

  • TOKEN and REQUEST authorizer support
  • PolicyBuilder fluent API for IAM policies
  • Support for authorization context data
  • Usage plan integration support
  • AOT compilation ready

DynamoDB Lambda (goa.dynamodb)

Creates a Lambda function for processing DynamoDB streams.

Usage:

dotnet new goa.dynamodb -n MyDynamoFunction

Features:

  • Batch processing of DynamoDB stream records
  • Dependency injection support
  • Record failure handling
  • AOT compilation ready

S3 Lambda (goa.s3)

Creates a Lambda function for processing S3 events.

Usage:

dotnet new goa.s3 -n MyS3Function

Options:

  • --processingType - Choose processing mode:
    • batch (default) - Process S3 events as a batch
    • single - Process S3 events one at a time

Features:

  • Single or batch processing of S3 events
  • Support for all S3 event types (ObjectCreated, ObjectRemoved, etc.)
  • Event failure handling
  • Dependency injection support
  • AOT compilation ready

Kinesis Lambda (goa.kinesis)

Creates a Lambda function for processing Kinesis stream events.

Usage:

dotnet new goa.kinesis -n MyKinesisFunction

Features:

  • Batch processing of Kinesis stream records
  • Base64 data decoding support
  • Record failure handling
  • Dependency injection support
  • AOT compilation ready

EventBridge Lambda (goa.eventbridge)

Creates a Lambda function for processing EventBridge events.

Usage:

dotnet new goa.eventbridge -n MyEventBridgeFunction

Features:

  • Single event processing
  • Access to event source, detail type, and custom detail data
  • Event failure handling
  • Dependency injection support
  • AOT compilation ready

SQS Lambda (goa.sqs)

Creates a Lambda function for processing SQS messages.

Usage:

dotnet new goa.sqs -n MySqsFunction

Options:

  • --processingType - Choose processing mode:
    • batch (default) - Process SQS messages as a batch
    • single - Process SQS messages one at a time

Features:

  • Single or batch processing of SQS messages
  • Access to message body, attributes, and metadata
  • Message failure handling for retry/DLQ
  • Dependency injection support
  • AOT compilation ready

Getting Started

  1. Install the template package:

    dotnet new install Goa.Templates
    
  2. Create a new function:

    # Basic API Gateway function
    dotnet new goa.apigw -n MyFunction
    
    # With OpenAPI documentation
    dotnet new goa.apigw -n MyFunction --includeOpenApi true
    
    # API Gateway authorizer (TOKEN type)
    dotnet new goa.authorizer -n MyAuthorizer
    
    # API Gateway authorizer (REQUEST type)
    dotnet new goa.authorizer -n MyAuthorizer --authorizerType request
    
    # DynamoDB stream function
    dotnet new goa.dynamodb -n MyDynamoFunction
    
    # S3 event function (batch processing)
    dotnet new goa.s3 -n MyS3Function
    
    # S3 event function (single processing)
    dotnet new goa.s3 -n MyS3Function --processingType single
    
    # Kinesis stream function
    dotnet new goa.kinesis -n MyKinesisFunction
    
    # EventBridge event function
    dotnet new goa.eventbridge -n MyEventBridgeFunction
    
    # SQS message function (batch processing)
    dotnet new goa.sqs -n MySqsFunction
    
    # SQS message function (single processing)
    dotnet new goa.sqs -n MySqsFunction --processingType single
    
    cd MyFunction
    
  3. Build and deploy:

    dotnet publish -c Release
    # Deploy using your preferred method (SAM, CDK, etc.)
    

Requirements

  • .NET 10.0 SDK or later
  • AWS CLI configured for deployment

Learn More

Visit the Goa documentation for more information about the framework and deployment options.

  • net10.0

    • No dependencies.
  • net9.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.6.0-preview.1 163 12/5/2025
0.6.0-preview 646 12/3/2025
0.1.9-preview 40 1/1/2026
0.1.8-preview 205 12/15/2025
0.1.7-preview 215 12/15/2025
0.1.6-preview 207 12/15/2025
0.1.5-preview 212 12/15/2025
0.1.4-preview 208 12/15/2025
0.1.3-preview 85 12/12/2025
0.1.2-preview 384 12/11/2025
0.1.1-preview 391 12/11/2025
0.1.0-preview 393 12/10/2025
0.0.8-preview 388 12/10/2025
0.0.7-preview 387 12/8/2025
0.0.6-preview.2 392 12/8/2025
0.0.5-preview 213 11/2/2025
0.0.4-preview 154 10/25/2025
0.0.3-preview.4 161 10/25/2025
0.0.3-preview.2 190 9/28/2025
0.0.3-preview.1 184 8/23/2025
0.0.2-preview.2.3 252 8/18/2025
0.0.2-preview.2.2 250 8/17/2025
0.0.2-preview.2.1 220 8/17/2025
0.0.2-preview.2 248 8/9/2025
0.0.0-alpha.0.32 241 12/7/2024
0.0.0-alpha.0.20 212 10/27/2024