Show / Hide Table of Contents

Class ALambdaEventFunction<TMessage>

The ALambdaEventFunction<TMessage> is the abstract base class for handling Amazon CloudWatch Events events.

Inheritance
System.Object
ALambdaFunction
ALambdaEventFunction<TMessage>
Implements
ILambdaSharpLogger
Inherited Members
ALambdaFunction.Provider
ALambdaFunction.UtcNow
ALambdaFunction.Info
ALambdaFunction.ErrorReportGenerator
ALambdaFunction.Logger
ALambdaFunction.CurrentContext
ALambdaFunction.HttpClient
ALambdaFunction.DebugLoggingEnabled
ALambdaFunction.InitializeAsync(LambdaConfig)
ALambdaFunction.FunctionHandlerAsync(Stream, ILambdaContext)
ALambdaFunction.InitializePrologueAsync(ILambdaConfigSource)
ALambdaFunction.InitializeEpilogueAsync()
ALambdaFunction.HandleFailedInitializationAsync(Stream)
ALambdaFunction.RecordFailedMessageAsync(LambdaLogLevel, ALambdaFunction.FailedMessageOrigin, String, Exception)
ALambdaFunction.DecryptSecretAsync(String, Dictionary<String, String>, CancellationToken)
ALambdaFunction.EncryptSecretAsync(String, String, Dictionary<String, String>, CancellationToken)
ALambdaFunction.AddPendingTask(Task)
ALambdaFunction.RunTask(Action, CancellationToken)
ALambdaFunction.RunTask(Func<Task>, CancellationToken)
ALambdaFunction.ForceLambdaColdStart(String)
ALambdaFunction.TerminateLambdaInstance(String)
ALambdaFunction.RecordErrorReport(LambdaErrorReport)
ALambdaFunction.RecordException(Exception)
ALambdaFunction.LogDebug(String, Object[])
ALambdaFunction.LogInfo(String, Object[])
ALambdaFunction.LogWarn(String, Object[])
ALambdaFunction.LogError(Exception)
ALambdaFunction.LogError(Exception, String, Object[])
ALambdaFunction.LogErrorAsInfo(Exception)
ALambdaFunction.LogErrorAsInfo(Exception, String, Object[])
ALambdaFunction.LogErrorAsWarning(Exception)
ALambdaFunction.LogErrorAsWarning(Exception, String, Object[])
ALambdaFunction.LogFatal(Exception, String, Object[])
ALambdaFunction.LogMetric(String, Double, LambdaMetricUnit)
ALambdaFunction.LogMetric(String, Double, LambdaMetricUnit, IEnumerable<String>, Dictionary<String, String>)
ALambdaFunction.LogMetric(IEnumerable<LambdaMetric>)
ALambdaFunction.LogMetric(IEnumerable<LambdaMetric>, IEnumerable<String>, Dictionary<String, String>)
ALambdaFunction.LogEvent<T>(T, IEnumerable<String>)
ALambdaFunction.LogEvent<T>(String, T, IEnumerable<String>)
ALambdaFunction.LogEvent<T>(String, String, T, IEnumerable<String>)
ALambdaFunction.ILambdaSharpLogger.DebugLoggingEnabled
ALambdaFunction.ILambdaSharpLogger.Info
ALambdaFunction.ILambdaSharpLogger.Log(LambdaLogLevel, Exception, String, Object[])
ALambdaFunction.ILambdaSharpLogger.LogRecord(ALambdaLogRecord)
Namespace: LambdaSharp.CloudWatch
Assembly: LambdaSharp.CloudWatch.dll
Syntax
public abstract class ALambdaEventFunction<TMessage> : ALambdaFunction, ILambdaSharpLogger
Type Parameters
Name Description
TMessage

The CloudWatch event message type.

Constructors

ALambdaEventFunction(ILambdaJsonSerializer)

Initializes a new ALambdaEventFunction<TMessage> instance using the default implementation of ILambdaFunctionDependencyProvider.

Declaration
protected ALambdaEventFunction(ILambdaJsonSerializer serializer)
Parameters
Type Name Description
ILambdaJsonSerializer serializer

Custom implementation of ILambdaJsonSerializer.

ALambdaEventFunction(ILambdaJsonSerializer, ILambdaFunctionDependencyProvider)

Initializes a new ALambdaEventFunction<TMessage> instance using a custom implementation of ILambdaFunctionDependencyProvider.

Declaration
protected ALambdaEventFunction(ILambdaJsonSerializer serializer, ILambdaFunctionDependencyProvider provider)
Parameters
Type Name Description
ILambdaJsonSerializer serializer

Custom implementation of ILambdaJsonSerializer.

ILambdaFunctionDependencyProvider provider

Custom implementation of ILambdaFunctionDependencyProvider.

Properties

CurrentEvent

The CurrentEvent property holds the CloudWatch event that is currently being processed.

Declaration
protected CloudWatchEvent<TMessage> CurrentEvent { get; }
Property Value
Type Description
Amazon.Lambda.CloudWatchEvents.CloudWatchEvent<TMessage>

The Amazon.Lambda.CloudWatchEvents.CloudWatchEvent<T> instance.

Remarks

This property is only set during the invocation of ProcessEventAsync(TMessage). Otherwise, it returns null.

LambdaSerializer

An instance of ILambdaJsonSerializer used for serializing/deserializing JSON data.

Declaration
protected ILambdaJsonSerializer LambdaSerializer { get; }
Property Value
Type Description
ILambdaJsonSerializer

The ILambdaJsonSerializer instance.

Methods

Deserialize(String, String)

The Deserialize(String, String) method converts the CloudWatch event detail from string to a typed instance.

Declaration
public virtual TMessage Deserialize(string detailType, string detail)
Parameters
Type Name Description
System.String detailType

The CloudWatch event detail type

System.String detail

The CloudWatch event detail.

Returns
Type Description
TMessage

The deserialized The CloudWatch event message.

Remarks

This method invokes Amazon.Lambda.Core.ILambdaSerializer.Deserialize``1(System.IO.Stream) to convert the CloudWatch event detail string into a instance. Override this method to provide a custom message deserialization implementation.

ProcessEventAsync(TMessage)

The ProcessEventAsync(TMessage) method is invoked for every received CloudWatch event.

Declaration
public abstract Task ProcessEventAsync(TMessage message)
Parameters
Type Name Description
TMessage message

The deserialized CloudWatch event message.

Returns
Type Description
System.Threading.Tasks.Task

The task object representing the asynchronous operation.

ProcessMessageStreamAsync(Stream)

The ProcessMessageStreamAsync(Stream) method is overridden to provide specific behavior for this base class.

Declaration
public override sealed Task<Stream> ProcessMessageStreamAsync(Stream stream)
Parameters
Type Name Description
System.IO.Stream stream

The stream with the request payload.

Returns
Type Description
System.Threading.Tasks.Task<System.IO.Stream>

The task object representing the asynchronous operation.

Overrides
ALambdaFunction.ProcessMessageStreamAsync(Stream)
Remarks

This method cannot be overridden.

Implements

ILambdaSharpLogger
In This Article
Back to top Generated by DocFX