ALambdaFunction is the abstract base class for all AWS Lambda functions. This class takes care of initializing the function from environment variables, before invoking ProcessMessageStreamAsync(Stream).
The static AwsConverters class provides convenience methods for converting Amazon Resource Name (ARN) into an alternative representation more suitable for their respective clients.
The LambdaConfig class is used by the Lambda function to read
its configuration settings. LambdaConfig provides hiearachical
access to scoped module values using the
Individual values can be retrieved using the basic
Read<T>(String, Func<String, T>, Func<String, T>, Action<T>) method
or one of the
The LambdaFunctionDependencyProvider class provides all the default, runtime dependencies for ALambdaFunction instances. Classes derived from ALambdaFunction that require additional dependencies should create their own Dependency Provider interface, derived from ILambdaFunctionDependencyProvider with a companion implementation class derived from LambdaFunctionDependencyProvider.
This separation of concerns makes it simple to create isolated unit tests to validate the behavior of the Lambda function implementation. For convenience sake, classes derived from ALambdaFunction should provide both an empty constructor that instantiate the default implementation and a constructor with that takes an instance implementing the required Dependency Provider interface.
The ALambdaFunction.FunctionInfo struct exposes the function initialization settings.
The ILambdaFunctionDependencyProvider interface provides all the required dependencies for ALambdaFunction instances. This interface follows the Dependency Provider pattern where all side-effecting methods and properties must be provided by an outside implementation.
The ALambdaFunction.FailedMessageOrigin describes the origin of the failed message. The origin determines how the failed message will be retried.