aws_lambda_dart_runtime_ns 0.1.0 copy "aws_lambda_dart_runtime_ns: ^0.1.0" to clipboard
aws_lambda_dart_runtime_ns: ^0.1.0 copied to clipboard

A powerful runtime to build AWS Lambda functions in Dart with native AWS events. Sound null safety.

Dart Runtime for AWS Lambda (Sound Null Safety) #

A 🎯 Dart Runtime for ƛ AWS Lambda


This package is based on the official aws-lambda-dart-runtime. It is a restructured version of the outdated official aws-lambda-dart-runtime adapted to the latest Dart SDK to make it easier to maintain.

Thanks to katallaxie and AWS Labs involved in the development of the original stuff!

You can read the official document too!


Features #

Read Introducing a Dart runtime for AWS Lambda

  • Great performance < 10ms on event processing and < 50MB memory consumption
  • No need to ship the Dart runtime
  • Multiple event handlers
  • Support for serverless framework

📦 Install #

You can easily add this package to your app.

dart pub add aws_lambda_dart_runtime_ns
dart pub get

ƛ Use #

import 'package:aws_lambda_dart_runtime_ns/aws_lambda_dart_runtime_ns.dart';

Future<void> main() async => await invokeAwsLambdaRuntime([
      _sayHelloWorldFunction,
      _doSomethingFunction,
      _sayHelloWorldForApiGatewayFunction,
    ]);

/// GET endpoint that just returns "Hello, World!".
FunctionHandler get _sayHelloWorldFunction => FunctionHandler(
      name: 'main.helloWorld',
      action: (context, event) {
        return InvocationResult(
          requestId: context.requestId,
          body: {
            'message': 'Hello, World!',
          },
        );
      },
    );

/// POST endpoint does something.
FunctionHandler get _doSomethingFunction => FunctionHandler(
      name: 'main.doSomething',
      action: (context, event) {
        // Do something here...

        return InvocationResult(requestId: context.requestId);
      },
    );

/// GET endpoint that returns "Hello, World!" with statusCode and headers.
FunctionHandler get _sayHelloWorldForApiGatewayFunction => FunctionHandler(
      name: 'main.helloWorld',
      action: (context, event) {
        return InvocationResult(
          requestId: context.requestId,
          body: AwsApiGatewayResponse.fromJson(
            {'message': 'Hello, World!'},
            isBase64Encoded: false,
            statusCode: 200,
            headers: const {'Content-Type': 'application/json'},
          ),
        );
      },
    );

License #

Apache 2.0

We 💙 Dart.

4
likes
160
pub points
57%
popularity

Publisher

verified publishershinyakato.dev

A powerful runtime to build AWS Lambda functions in Dart with native AWS events. Sound null safety.

Repository (GitHub)
View/report issues

Topics

#aws #lambda #aws-lambda

Documentation

API reference

Funding

Consider supporting this project:

github.com

License

Apache-2.0 (license)

Dependencies

http

More

Packages that depend on aws_lambda_dart_runtime_ns