I - The request body typeO - The response body typepublic abstract class MicronautRequestHandler<I,O> extends io.micronaut.function.executor.AbstractFunctionExecutor<I,O,com.amazonaws.services.lambda.runtime.Context> implements com.amazonaws.services.lambda.runtime.RequestHandler<I,O>, MicronautLambdaContext
An Amazon Lambda RequestHandler implementation for Micronaut FunctionBean
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
ENV_X_AMZN_TRACE_ID |
static java.lang.String |
MDC_DEFAULT_AWS_REQUEST_ID |
static java.lang.String |
MDC_DEFAULT_FUNCTION_ARN |
static java.lang.String |
MDC_DEFAULT_FUNCTION_MEMORY_SIZE |
static java.lang.String |
MDC_DEFAULT_FUNCTION_NAME |
static java.lang.String |
MDC_DEFAULT_FUNCTION_REMAINING_TIME |
static java.lang.String |
MDC_DEFAULT_FUNCTION_VERSION |
static java.lang.String |
MDC_DEFAULT_XRAY_TRACE_ID |
ENVIRONMENT_LAMBDA| Constructor and Description |
|---|
MicronautRequestHandler()
Default constructor; will initialize a suitable
ApplicationContext for
Lambda deployment. |
MicronautRequestHandler(io.micronaut.context.ApplicationContext applicationContext)
Constructor used to inject a preexisting
ApplicationContext. |
| Modifier and Type | Method and Description |
|---|---|
protected io.micronaut.context.ApplicationContext |
buildApplicationContext(com.amazonaws.services.lambda.runtime.Context context) |
protected I |
convertInput(java.lang.Object input)
Converts the input the required type.
|
O |
handleRequest(I input,
com.amazonaws.services.lambda.runtime.Context context) |
protected void |
mdcput(java.lang.String key,
java.lang.String val)
Put a diagnostic context value.
|
protected io.micronaut.context.ApplicationContextBuilder |
newApplicationContextBuilder() |
protected static java.util.Optional<java.lang.String> |
parseXrayTraceId()
Parses XRay Trace ID from _X_AMZN_TRACE_ID environment variable.
|
protected void |
populateMappingDiagnosticContextValues(com.amazonaws.services.lambda.runtime.Context context) |
protected void |
populateMappingDiagnosticContextWithXrayTraceId()
Populate MDC with XRay Trace ID if is able to parse it.
|
close, getApplicationContext, resolveFunction, resolveFunctionName, startEnvironmentpublic static final java.lang.String ENV_X_AMZN_TRACE_ID
public static final java.lang.String MDC_DEFAULT_AWS_REQUEST_ID
public static final java.lang.String MDC_DEFAULT_FUNCTION_NAME
public static final java.lang.String MDC_DEFAULT_FUNCTION_VERSION
public static final java.lang.String MDC_DEFAULT_FUNCTION_ARN
public static final java.lang.String MDC_DEFAULT_FUNCTION_MEMORY_SIZE
public static final java.lang.String MDC_DEFAULT_FUNCTION_REMAINING_TIME
public static final java.lang.String MDC_DEFAULT_XRAY_TRACE_ID
public MicronautRequestHandler()
ApplicationContext for
Lambda deployment.public MicronautRequestHandler(io.micronaut.context.ApplicationContext applicationContext)
ApplicationContext.applicationContext - the application contextpublic final O handleRequest(I input, com.amazonaws.services.lambda.runtime.Context context)
protected void populateMappingDiagnosticContextValues(@NonNull
com.amazonaws.services.lambda.runtime.Context context)
context - The Lambda execution environment context object.protected void mdcput(@NonNull
java.lang.String key,
@NonNull
java.lang.String val)
throws java.lang.IllegalArgumentException
key - non-null keyval - value to put in the mapjava.lang.IllegalArgumentException - in case the "key" parameter is nullprotected void populateMappingDiagnosticContextWithXrayTraceId()
@NonNull protected static java.util.Optional<java.lang.String> parseXrayTraceId()
protected I convertInput(java.lang.Object input)
input - The inputjava.lang.IllegalArgumentException - If input cannot be convertedprotected io.micronaut.context.ApplicationContext buildApplicationContext(com.amazonaws.services.lambda.runtime.Context context)
buildApplicationContext in class io.micronaut.function.executor.AbstractExecutor<com.amazonaws.services.lambda.runtime.Context>@NonNull protected io.micronaut.context.ApplicationContextBuilder newApplicationContextBuilder()
newApplicationContextBuilder in class io.micronaut.function.executor.AbstractExecutor<com.amazonaws.services.lambda.runtime.Context>