playground/Lambda/ToUpperLambdaFunctionExecutable/LambdaFunction.cs (24 lines of code) (raw):

using Amazon.Lambda.APIGatewayEvents; using Amazon.Lambda.Core; using Amazon.Lambda.RuntimeSupport; using Amazon.Lambda.Serialization.SystemTextJson; using Microsoft.Extensions.Hosting; using OpenTelemetry.Instrumentation.AWSLambda; using OpenTelemetry.Trace; namespace ToUpperLambdaFunctionExecutable; internal class LambdaFunction(TracerProvider traceProvider) : BackgroundService { protected override async Task ExecuteAsync(CancellationToken stoppingToken) { await LambdaBootstrapBuilder.Create<string, string>(TracingLambdaHandler, new DefaultLambdaJsonSerializer()) .Build() .RunAsync(stoppingToken); } private string TracingLambdaHandler(string input, ILambdaContext context) => AWSLambdaWrapper.Trace(traceProvider, LambdaHandler, input, context); private string LambdaHandler(string input, ILambdaContext context) { context.Logger.LogDebug("Performing ToUpper for {input}", input); return input.ToUpper(); } }