From 449241a0f3116c9149ace3f019f450ca08d81698 Mon Sep 17 00:00:00 2001 From: Norm Johanson Date: Fri, 10 Oct 2025 13:34:29 -0700 Subject: [PATCH 01/11] Add multi concurrency support for Amazon.Lambda.RuntimeSupport (#28) --- .../Amazon.Lambda.APIGatewayEvents.csproj | 19 +- ...ambda.ApplicationLoadBalancerEvents.csproj | 14 +- ...zon.Lambda.AspNetCoreServer.Hosting.csproj | 12 +- .../Amazon.Lambda.AspNetCoreServer.csproj | 6 + .../Amazon.Lambda.Core.csproj | 3 + Libraries/src/Amazon.Lambda.Core/Constants.cs | 15 ++ .../Amazon.Lambda.Core/LambdaTraceProvider.cs | 48 ++++ Libraries/src/Amazon.Lambda.Core/Utils.cs | 20 ++ .../Amazon.Lambda.RuntimeSupport.csproj | 6 + .../Bootstrap/Constants.cs | 11 +- .../Bootstrap/LambdaBootstrap.cs | 224 ++++++++++++++---- .../Bootstrap/UserCodeInit.cs | 16 +- .../Bootstrap/UserCodeLoader.cs | 8 +- .../Client/RuntimeApiClient.cs | 14 +- .../Context/IEnvironmentVariables.cs | 20 +- .../Context/LambdaBootstrapConfiguration.cs | 6 +- .../Context/LambdaContext.cs | 17 +- .../Context/LambdaEnvironment.cs | 5 - .../Helpers/ConsoleLoggerWriter.cs | 75 ++++-- .../Helpers/FileDescriptorLogStream.cs | 16 +- .../Helpers/NativeAotHelper.cs | 32 --- .../Helpers/TraceProviderIsolated.cs | 32 +++ .../Helpers/Utils.cs | 113 +++++++++ .../RuntimeSupportInitializer.cs | 11 +- ...Lambda.Serialization.SystemTextJson.csproj | 8 +- .../SnapshotRestore.Registry.csproj | 6 + .../CSharpSourceGeneratorVerifier.cs | 10 +- .../SourceGeneratorTests.cs | 2 +- .../Amazon.Lambda.Core.Tests.csproj | 2 + .../TraveProviderTests.cs | 55 +++++ ...bda.RuntimeSupport.IntegrationTests.csproj | 1 - .../BaseCustomRuntimeTest.cs | 13 +- ...spNetCoreMinimalApiCustomSerializerTest.cs | 14 +- .../CustomRuntimeAspNetCoreMinimalApiTest.cs | 14 +- .../CustomRuntimeTests.cs | 32 +-- .../IntegrationTestFixture.cs | 19 +- ...zon.Lambda.RuntimeSupport.UnitTests.csproj | 2 + .../FileDescriptorLogStreamTests.cs | 6 +- .../HandlerTests.cs | 6 +- .../HandlerWrapperTests.cs | 10 +- .../LambdaBootstrapMultiConcurrencyTests.cs | 153 ++++++++++++ .../LambdaBootstrapTests.cs | 68 +++--- .../LambdaContextTests.cs | 4 +- .../LambdaEnvironmentTests.cs | 15 +- .../TestHelpers/PocoInput.cs | 4 +- .../TestHelpers/PocoOutput.cs | 4 +- .../TestMultiConcurrencyRuntimeApiClient.cs | 131 ++++++++++ .../TestHelpers/TestRuntimeApiClient.cs | 10 +- .../UtilsTest.cs | 70 ++++++ ...tCoreMinimalApiCustomSerializerTest.csproj | 2 +- ...stomRuntimeAspNetCoreMinimalApiTest.csproj | 2 +- .../CustomRuntimeFunction.cs | 76 +----- .../CustomRuntimeFunctionTest.csproj | 2 + 53 files changed, 1132 insertions(+), 352 deletions(-) create mode 100644 Libraries/src/Amazon.Lambda.Core/Constants.cs create mode 100644 Libraries/src/Amazon.Lambda.Core/LambdaTraceProvider.cs create mode 100644 Libraries/src/Amazon.Lambda.Core/Utils.cs delete mode 100644 Libraries/src/Amazon.Lambda.RuntimeSupport/Helpers/NativeAotHelper.cs create mode 100644 Libraries/src/Amazon.Lambda.RuntimeSupport/Helpers/TraceProviderIsolated.cs create mode 100644 Libraries/src/Amazon.Lambda.RuntimeSupport/Helpers/Utils.cs create mode 100644 Libraries/test/Amazon.Lambda.Core.Tests/TraveProviderTests.cs create mode 100644 Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/LambdaBootstrapMultiConcurrencyTests.cs create mode 100644 Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/TestHelpers/TestMultiConcurrencyRuntimeApiClient.cs create mode 100644 Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/UtilsTest.cs diff --git a/Libraries/src/Amazon.Lambda.APIGatewayEvents/Amazon.Lambda.APIGatewayEvents.csproj b/Libraries/src/Amazon.Lambda.APIGatewayEvents/Amazon.Lambda.APIGatewayEvents.csproj index 6b7ee52d8..1607d10d7 100644 --- a/Libraries/src/Amazon.Lambda.APIGatewayEvents/Amazon.Lambda.APIGatewayEvents.csproj +++ b/Libraries/src/Amazon.Lambda.APIGatewayEvents/Amazon.Lambda.APIGatewayEvents.csproj @@ -10,7 +10,14 @@ Amazon.Lambda.APIGatewayEvents Amazon.Lambda.APIGatewayEvents AWS;Amazon;Lambda - README.md + README.md + + + false @@ -18,16 +25,16 @@ - + - - IL2026,IL2067,IL2075 - true + + IL2026,IL2067,IL2075 + true true - + diff --git a/Libraries/src/Amazon.Lambda.ApplicationLoadBalancerEvents/Amazon.Lambda.ApplicationLoadBalancerEvents.csproj b/Libraries/src/Amazon.Lambda.ApplicationLoadBalancerEvents/Amazon.Lambda.ApplicationLoadBalancerEvents.csproj index a67646ea1..15d8e3f1c 100644 --- a/Libraries/src/Amazon.Lambda.ApplicationLoadBalancerEvents/Amazon.Lambda.ApplicationLoadBalancerEvents.csproj +++ b/Libraries/src/Amazon.Lambda.ApplicationLoadBalancerEvents/Amazon.Lambda.ApplicationLoadBalancerEvents.csproj @@ -10,11 +10,17 @@ Amazon.Lambda.ApplicationLoadBalancerEvents Amazon.Lambda.ApplicationLoadBalancerEvents AWS;Amazon;Lambda + + false - - IL2026,IL2067,IL2075 - true - true + + IL2026,IL2067,IL2075 + true + true diff --git a/Libraries/src/Amazon.Lambda.AspNetCoreServer.Hosting/Amazon.Lambda.AspNetCoreServer.Hosting.csproj b/Libraries/src/Amazon.Lambda.AspNetCoreServer.Hosting/Amazon.Lambda.AspNetCoreServer.Hosting.csproj index 89bc352b6..852a70a62 100644 --- a/Libraries/src/Amazon.Lambda.AspNetCoreServer.Hosting/Amazon.Lambda.AspNetCoreServer.Hosting.csproj +++ b/Libraries/src/Amazon.Lambda.AspNetCoreServer.Hosting/Amazon.Lambda.AspNetCoreServer.Hosting.csproj @@ -7,10 +7,16 @@ net6.0;net8.0 enable enable - 1.9.0 - README.md + 1.9.0 + README.md Amazon.Lambda.AspNetCoreServer.Hosting - Amazon.Lambda.AspNetCoreServer.Hosting + Amazon.Lambda.AspNetCoreServer.Hosting + + false IL2104,IL2026,IL2067,IL2075 true diff --git a/Libraries/src/Amazon.Lambda.AspNetCoreServer/Amazon.Lambda.AspNetCoreServer.csproj b/Libraries/src/Amazon.Lambda.AspNetCoreServer/Amazon.Lambda.AspNetCoreServer.csproj index 143bdff28..b8ece4445 100644 --- a/Libraries/src/Amazon.Lambda.AspNetCoreServer/Amazon.Lambda.AspNetCoreServer.csproj +++ b/Libraries/src/Amazon.Lambda.AspNetCoreServer/Amazon.Lambda.AspNetCoreServer.csproj @@ -13,6 +13,12 @@ Latest false README.md + + false IL2026,IL2067,IL2075,IL2091 true diff --git a/Libraries/src/Amazon.Lambda.Core/Amazon.Lambda.Core.csproj b/Libraries/src/Amazon.Lambda.Core/Amazon.Lambda.Core.csproj index 78695601d..df431d052 100644 --- a/Libraries/src/Amazon.Lambda.Core/Amazon.Lambda.Core.csproj +++ b/Libraries/src/Amazon.Lambda.Core/Amazon.Lambda.Core.csproj @@ -21,6 +21,9 @@ <_Parameter1>Amazon.Lambda.RuntimeSupport.UnitTests, PublicKey="0024000004800000940000000602000000240000525341310004000001000100db5f59f098d27276c7833875a6263a3cc74ab17ba9a9df0b52aedbe7252745db7274d5271fd79c1f08f668ecfa8eaab5626fa76adc811d3c8fc55859b0d09d3bc0a84eecd0ba891f2b8a2fc55141cdcc37c2053d53491e650a479967c3622762977900eddbf1252ed08a2413f00a28f3a0752a81203f03ccb7f684db373518b4" + + <_Parameter1>Amazon.Lambda.Core.Tests, PublicKey="0024000004800000940000000602000000240000525341310004000001000100db5f59f098d27276c7833875a6263a3cc74ab17ba9a9df0b52aedbe7252745db7274d5271fd79c1f08f668ecfa8eaab5626fa76adc811d3c8fc55859b0d09d3bc0a84eecd0ba891f2b8a2fc55141cdcc37c2053d53491e650a479967c3622762977900eddbf1252ed08a2413f00a28f3a0752a81203f03ccb7f684db373518b4" + diff --git a/Libraries/src/Amazon.Lambda.Core/Constants.cs b/Libraries/src/Amazon.Lambda.Core/Constants.cs new file mode 100644 index 000000000..32d2a9417 --- /dev/null +++ b/Libraries/src/Amazon.Lambda.Core/Constants.cs @@ -0,0 +1,15 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Collections.Generic; +using System.Text; + +namespace Amazon.Lambda.Core +{ + internal class Constants + { + internal const string ENV_VAR_AWS_LAMBDA_MAX_CONCURRENCY = "AWS_LAMBDA_MAX_CONCURRENCY"; + internal const string ENV_VAR_AWS_LAMBDA_TRACE_ID = "_X_AMZN_TRACE_ID"; + } +} diff --git a/Libraries/src/Amazon.Lambda.Core/LambdaTraceProvider.cs b/Libraries/src/Amazon.Lambda.Core/LambdaTraceProvider.cs new file mode 100644 index 000000000..469bd4513 --- /dev/null +++ b/Libraries/src/Amazon.Lambda.Core/LambdaTraceProvider.cs @@ -0,0 +1,48 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + + +using System; +using System.Threading; + +namespace Amazon.Lambda.Core +{ + /// + /// Provides global access to the current trace id for the current Lambda event invocation. + /// + public class LambdaTraceProvider + { + // Use separate backing fields based on if multi-concurrency is being used or not. + // This is done because accessing from the AsyncLocal is slower then a backing string field + // so only use AsyncLocal when we have to in a multi-concurrency scenario. + private static string _traceIdField; + private readonly static AsyncLocal _traceIdStorage = new AsyncLocal(); + + internal static void SetCurrentTraceId(string traceId) + { + if (Utils.IsUsingMultiConcurrency) + _traceIdStorage.Value = traceId; + else + _traceIdField = traceId; + } + + /// + /// The current trace id for the current Lambda event invocation. + /// + public static string CurrentTraceId + { + get + { + if (Utils.IsUsingMultiConcurrency) + return _traceIdStorage.Value; + else if (_traceIdField != null) + return _traceIdField; + + // Fallback to the environment variable if the backing field is not set. + // This would happen if the version of Amazon.Lambda.RuntimeSupport being used is out of date + // and doesn't call SetCurrentTraceId. + return Environment.GetEnvironmentVariable(Constants.ENV_VAR_AWS_LAMBDA_TRACE_ID); + } + } + } +} diff --git a/Libraries/src/Amazon.Lambda.Core/Utils.cs b/Libraries/src/Amazon.Lambda.Core/Utils.cs new file mode 100644 index 000000000..3b7298042 --- /dev/null +++ b/Libraries/src/Amazon.Lambda.Core/Utils.cs @@ -0,0 +1,20 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Collections.Generic; +using System.Text; + +namespace Amazon.Lambda.Core +{ + internal static class Utils + { + internal static bool IsUsingMultiConcurrency + { + get + { + return !string.IsNullOrEmpty(Environment.GetEnvironmentVariable(Constants.ENV_VAR_AWS_LAMBDA_MAX_CONCURRENCY)); + } + } + } +} diff --git a/Libraries/src/Amazon.Lambda.RuntimeSupport/Amazon.Lambda.RuntimeSupport.csproj b/Libraries/src/Amazon.Lambda.RuntimeSupport/Amazon.Lambda.RuntimeSupport.csproj index 0d52c2728..37c8ddf27 100644 --- a/Libraries/src/Amazon.Lambda.RuntimeSupport/Amazon.Lambda.RuntimeSupport.csproj +++ b/Libraries/src/Amazon.Lambda.RuntimeSupport/Amazon.Lambda.RuntimeSupport.csproj @@ -16,6 +16,12 @@ true NU5048;NU1903;NU1902 9.0 + + false diff --git a/Libraries/src/Amazon.Lambda.RuntimeSupport/Bootstrap/Constants.cs b/Libraries/src/Amazon.Lambda.RuntimeSupport/Bootstrap/Constants.cs index e810908c2..5ce238804 100644 --- a/Libraries/src/Amazon.Lambda.RuntimeSupport/Bootstrap/Constants.cs +++ b/Libraries/src/Amazon.Lambda.RuntimeSupport/Bootstrap/Constants.cs @@ -24,6 +24,15 @@ internal class Constants // variable should never be set when function is deployed to Lambda. internal const string ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_DEBUG_RUN_ONCE = "AWS_LAMBDA_DOTNET_DEBUG_RUN_ONCE"; + // Lambda Environment variable used to check if user has configured the function to run in multi concurrency mode. + // To be in multi concurrency mode the environment has to exist and have an int value greater then 1. + internal const string ENVIRONMENT_VARIABLE_AWS_LAMBDA_MAX_CONCURRENCY = "AWS_LAMBDA_MAX_CONCURRENCY"; + + // .NET Lambda runtime specific environment variable used to override the number of .NET Tasks started + // that will reach out to the Lambda Runtime API for new events to process. This environment variable is only + // used if AWS_LAMBDA_MAX_CONCURRENCY environment variable is set. + internal const string ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PROCESSING_TASKS = "AWS_LAMBDA_DOTNET_PROCESSING_TASKS"; + internal const string ENVIRONMENT_VARIABLE_DISABLE_HEAP_MEMORY_LIMIT = "AWS_LAMBDA_DOTNET_DISABLE_MEMORY_LIMIT_CHECK"; internal const string ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PREJIT = "AWS_LAMBDA_DOTNET_PREJIT"; @@ -60,4 +69,4 @@ internal enum AwsLambdaDotNetPreJit internal const BindingFlags DefaultFlags = BindingFlags.DeclaredOnly | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static; } -} \ No newline at end of file +} diff --git a/Libraries/src/Amazon.Lambda.RuntimeSupport/Bootstrap/LambdaBootstrap.cs b/Libraries/src/Amazon.Lambda.RuntimeSupport/Bootstrap/LambdaBootstrap.cs index 987349f54..68247f7a8 100644 --- a/Libraries/src/Amazon.Lambda.RuntimeSupport/Bootstrap/LambdaBootstrap.cs +++ b/Libraries/src/Amazon.Lambda.RuntimeSupport/Bootstrap/LambdaBootstrap.cs @@ -14,11 +14,11 @@ */ using System; +using System.Collections.Generic; using System.IO; using System.Net.Http; using System.Threading; using System.Threading.Tasks; -using Amazon.Lambda.Core; using Amazon.Lambda.RuntimeSupport.Bootstrap; using Amazon.Lambda.RuntimeSupport.Helpers; @@ -49,15 +49,19 @@ public class LambdaBootstrap : IDisposable /// private static readonly TimeSpan RuntimeApiHttpTimeout = TimeSpan.FromHours(12); - private LambdaBootstrapInitializer _initializer; - private LambdaBootstrapHandler _handler; - private bool _ownsHttpClient; - private InternalLogger _logger = InternalLogger.GetDefaultLogger(); + private readonly LambdaBootstrapInitializer _initializer; + private readonly LambdaBootstrapHandler _handler; + private readonly bool _ownsHttpClient; + private readonly InternalLogger _logger = InternalLogger.GetDefaultLogger(); private readonly HttpClient _httpClient; - private LambdaBootstrapConfiguration _configuration; + private readonly LambdaBootstrapConfiguration _configuration; + private readonly Action _awsSdkTraceIdSetter; + private readonly IEnvironmentVariables _environmentVariables; + internal IRuntimeApiClient Client { get; set; } + /// /// Create a LambdaBootstrap that will call the given initializer and handler. /// @@ -140,7 +144,19 @@ public LambdaBootstrap(HttpClient httpClient, HandlerWrapper handlerWrapper, Lam /// internal LambdaBootstrap(LambdaBootstrapHandler handler, LambdaBootstrapInitializer initializer, - LambdaBootstrapConfiguration configuration) : this(ConstructHttpClient(), handler, initializer, false, configuration) + LambdaBootstrapConfiguration configuration) : this(ConstructHttpClient(), handler, initializer, true, configuration) + { } + + /// + /// Create a LambdaBootstrap that will call the given initializer and handler with custom configuration. + /// + /// + /// Delegate called for each invocation of the Lambda function. + /// Delegate called to initialize the Lambda function. If not provided the initialization step is skipped. + /// Get configuration to check if Invoke is with Pre JIT or SnapStart enabled + /// + internal LambdaBootstrap(LambdaBootstrapHandler handler, LambdaBootstrapInitializer initializer, LambdaBootstrapConfiguration configuration, IEnvironmentVariables environmentVariables) + : this(ConstructHttpClient(), handler, initializer, true, configuration, environmentVariables: environmentVariables) { } /// @@ -152,15 +168,24 @@ internal LambdaBootstrap(LambdaBootstrapHandler handler, /// Whether the instance owns the HTTP client and should dispose of it. /// Get configuration to check if Invoke is with Pre JIT or SnapStart enabled /// Lambda bootstrap configuration options. - private LambdaBootstrap(HttpClient httpClient, LambdaBootstrapHandler handler, LambdaBootstrapInitializer initializer, bool ownsHttpClient, LambdaBootstrapConfiguration configuration = null, LambdaBootstrapOptions lambdaBootstrapOptions = null) + /// + internal LambdaBootstrap(HttpClient httpClient, LambdaBootstrapHandler handler, LambdaBootstrapInitializer initializer, bool ownsHttpClient, LambdaBootstrapConfiguration configuration = null, LambdaBootstrapOptions lambdaBootstrapOptions = null, IEnvironmentVariables environmentVariables = null) { + if (ownsHttpClient && httpClient == null) + { + httpClient = ConstructHttpClient(); + } + _httpClient = httpClient ?? throw new ArgumentNullException(nameof(httpClient)); _handler = handler ?? throw new ArgumentNullException(nameof(handler)); _ownsHttpClient = ownsHttpClient; _initializer = initializer; _httpClient.Timeout = RuntimeApiHttpTimeout; - Client = new RuntimeApiClient(new SystemEnvironmentVariables(), _httpClient, lambdaBootstrapOptions); - _configuration = configuration ?? LambdaBootstrapConfiguration.GetDefaultConfiguration(); + _environmentVariables = environmentVariables ?? new SystemEnvironmentVariables(); + Client = new RuntimeApiClient(_environmentVariables, _httpClient, lambdaBootstrapOptions); + _configuration = configuration ?? LambdaBootstrapConfiguration.GetDefaultConfiguration(_environmentVariables); + + _awsSdkTraceIdSetter = Utils.FindAWSSDKTraceIdSetter(_environmentVariables); } /// @@ -183,7 +208,7 @@ private LambdaBootstrap(HttpClient httpClient, LambdaBootstrapHandler handler, L if (_configuration.IsCallPreJit) { _logger.LogInformation("PreJit: CultureInfo"); - UserCodeInit.LoadStringCultureInfo(); + UserCodeInit.LoadStringCultureInfo(_environmentVariables); _logger.LogInformation("PreJit: Amazon.Lambda.Core"); UserCodeInit.PreJitAssembly(typeof(Amazon.Lambda.Core.ILambdaContext).Assembly); @@ -192,7 +217,7 @@ private LambdaBootstrap(HttpClient httpClient, LambdaBootstrapHandler handler, L // For local debugging purposes this environment variable can be set to run a Lambda executable assembly and process one event // and then shut down cleanly. Useful for profiling or running local tests with the .NET Lambda Test Tool. This environment // variable should never be set when function is deployed to Lambda. - var runOnce = string.Equals(Environment.GetEnvironmentVariable(Constants.ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_DEBUG_RUN_ONCE), "true", StringComparison.OrdinalIgnoreCase); + var runOnce = string.Equals(_environmentVariables.GetEnvironmentVariable(Constants.ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_DEBUG_RUN_ONCE), "true", StringComparison.OrdinalIgnoreCase); if (_initializer != null && !(await InitializeAsync())) @@ -227,12 +252,33 @@ private LambdaBootstrap(HttpClient httpClient, LambdaBootstrapHandler handler, L } #endif + var processingTasksCount = Utils.DetermineProcessingTaskCount(_environmentVariables, Environment.ProcessorCount); + _logger.LogInformation($"Using {processingTasksCount} tasks for invoke processing loops"); + + if (processingTasksCount == 1) + { + await ProcessingLoop(runOnce, cancellationToken); + } + else + { + var tasks = new List(); + for (int i = 0; i < processingTasksCount; i++) + { + tasks.Add(ProcessingLoop(runOnce, cancellationToken)); + } + + await Task.WhenAll(tasks); + } + } + + private async Task ProcessingLoop(bool runOnce, CancellationToken cancellationToken) + { while (!cancellationToken.IsCancellationRequested) { try { await InvokeOnceAsync(cancellationToken); - if(runOnce) + if (runOnce) { _logger.LogInformation("Exiting Lambda processing loop because the run once environment variable was set."); return; @@ -240,7 +286,28 @@ private LambdaBootstrap(HttpClient httpClient, LambdaBootstrapHandler handler, L } catch (OperationCanceledException) when (cancellationToken.IsCancellationRequested) { - // Loop cancelled + // The user starting RuntimeSupport has request to end processing. This would really only be + // for testing scenarios. + return; + } + catch (OperationCanceledException) + { + // There was a timeout waiting for the next invocation. In that case the poller should attempt again. + continue; + } + catch (Exception ex) + { + // Only capture and continue for multi concurrency because we do not want to change + // the existing behavior for on demand mode. + if (Utils.IsUsingMultiConcurrency(_environmentVariables)) + { + // In multi concurrency mode we want to avoid one processing task having an issue and + // taking down the whole process. Log the error and continue. + _logger.LogError(ex, "Unknown error running Lambda processing loop, continuing."); + continue; + } + + throw; } } } @@ -268,45 +335,120 @@ internal async Task InitializeAsync() internal async Task InvokeOnceAsync(CancellationToken cancellationToken = default) { _logger.LogInformation("Starting InvokeOnceAsync"); - using (var invocation = await Client.GetNextInvocationAsync(cancellationToken)) - { - InvocationResponse response = null; - bool invokeSucceeded = false; - try - { - _logger.LogInformation("Starting invoking handler"); - response = await _handler(invocation); - invokeSucceeded = true; - } - catch (Exception exception) - { - WriteUnhandledExceptionToLog(exception); - await Client.ReportInvocationErrorAsync(invocation.LambdaContext.AwsRequestId, exception); - } - finally + var invocation = await Client.GetNextInvocationAsync(cancellationToken); + + Func processingFunc = async () => + { + if (invocation.LambdaContext is LambdaContext impl) { - _logger.LogInformation("Finished invoking handler"); + Client.ConsoleLogger.SetRuntimeHeaders(impl.RuntimeApiHeaders); + SetInvocationTraceId(impl.RuntimeApiHeaders.TraceId); } - if (invokeSucceeded) + try { - _logger.LogInformation("Starting sending response"); + InvocationResponse response = null; + bool invokeSucceeded = false; + try { - await Client.SendResponseAsync(invocation.LambdaContext.AwsRequestId, response?.OutputStream); + _logger.LogInformation("Starting invoking handler"); + response = await _handler(invocation); + invokeSucceeded = true; + } + catch (Exception exception) + { + WriteUnhandledExceptionToLog(exception); + await Client.ReportInvocationErrorAsync(invocation.LambdaContext.AwsRequestId, exception, cancellationToken); } finally { - if (response != null && response.DisposeOutputStream) + _logger.LogInformation("Finished invoking handler"); + } + + if (invokeSucceeded) + { + _logger.LogInformation("Starting sending response"); + try + { + await Client.SendResponseAsync(invocation.LambdaContext.AwsRequestId, response?.OutputStream, cancellationToken); + } + finally { - response.OutputStream?.Dispose(); + if (response != null && response.DisposeOutputStream) + { + response.OutputStream?.Dispose(); + } + + _logger.LogInformation("Finished sending response"); } + } - _logger.LogInformation("Finished sending response"); + _logger.LogInformation("Finished InvokeOnceAsync"); + } + catch(Exception ex) + { + // Only capture and continue for multi concurrency because we do not want to change + // the existing behavior for on demand mode. + if (Utils.IsUsingMultiConcurrency(_environmentVariables)) + { + // In multi concurrency mode we want to avoid one processing task having an issue and + // taking down the whole process. Log the error and continue. + _logger.LogError(ex, "Unknown error running Lambda processing loop, continuing."); + return; } + + throw; + } + finally + { + invocation.Dispose(); + } + }; + + // In multi concurrency mode we always need to block on the GetNextInvocationAsync call getting the next event but + // return back to the caller as soon as we start processing the event. That way another event + // can be looked for from the runtime API allowing the events to run concurrently. + if (Utils.IsUsingMultiConcurrency(_environmentVariables)) + { + _ = Task.Run(processingFunc, cancellationToken); + } + else + { + // This is the default Lambda runtime mode blocking till the event has been + // fully processed and then another event will be asked for. + await processingFunc(); + } + } + + volatile bool _disableTraceProvider = false; + private void SetInvocationTraceId(string traceId) + { + // In an on demand mode where only one invocation is processed at a time + // it is safe to set the environment per request. + if (!Utils.IsUsingMultiConcurrency(_environmentVariables)) + { + _environmentVariables.SetEnvironmentVariable(LambdaEnvironment.EnvVarTraceId, traceId); + } + + // Save the trace id in the AWS SDK for .NET + _awsSdkTraceIdSetter?.Invoke(traceId); + + if (!_disableTraceProvider) + { + try + { + TraceProviderIsolated.SetCurrentTraceId(traceId); + } + catch (TypeLoadException) + { + // Disable attempting to set trace id in the future. If we got a TypeLoadException then setting the + // trace id will never work in the future. Avoid triggering exceptions for every invocation. + _disableTraceProvider = true; + _logger.LogInformation("Failed to set the trace id on Amazon.Lambda.Core.LambdaTraceProvider due to the version of " + + "Amazon.Lambda.Core being provided by Lambda Function being out of date."); } - _logger.LogInformation("Finished InvokeOnceAsync"); } } @@ -332,7 +474,7 @@ public static HttpClient ConstructHttpClient() }; // If we are running in an AOT environment, mark it as such. - var userAgentString = NativeAotHelper.IsRunningNativeAot() ? $"aws-lambda-dotnet/{dotnetRuntimeVersion}-{amazonLambdaRuntimeSupport}-aot" + var userAgentString = Utils.IsRunningNativeAot() ? $"aws-lambda-dotnet/{dotnetRuntimeVersion}-{amazonLambdaRuntimeSupport}-aot" : $"aws-lambda-dotnet/{dotnetRuntimeVersion}-{amazonLambdaRuntimeSupport}"; var client = new HttpClient(handler); @@ -370,13 +512,13 @@ private void AdjustMemorySettings() // the heap memory limit to match the Lambda configured environment. This can be useful for situations // where the Lambda environment is being emulated for testing and more then just single Lambda function // is running in the process. For example running a test runner over a series of Lambda emulated invocations. - var value = Environment.GetEnvironmentVariable(Constants.ENVIRONMENT_VARIABLE_DISABLE_HEAP_MEMORY_LIMIT); + var value = _environmentVariables.GetEnvironmentVariable(Constants.ENVIRONMENT_VARIABLE_DISABLE_HEAP_MEMORY_LIMIT); if (string.Equals(value, "true", StringComparison.OrdinalIgnoreCase)) return; int lambdaMemoryInMb; - if (!int.TryParse(Environment.GetEnvironmentVariable(LambdaEnvironment.EnvVarFunctionMemorySize), out lambdaMemoryInMb)) + if (!int.TryParse(_environmentVariables.GetEnvironmentVariable(LambdaEnvironment.EnvVarFunctionMemorySize), out lambdaMemoryInMb)) return; ulong memoryInBytes = (ulong)lambdaMemoryInMb * LambdaEnvironment.OneMegabyte; diff --git a/Libraries/src/Amazon.Lambda.RuntimeSupport/Bootstrap/UserCodeInit.cs b/Libraries/src/Amazon.Lambda.RuntimeSupport/Bootstrap/UserCodeInit.cs index 9ef8e0e8d..b59ba67f5 100644 --- a/Libraries/src/Amazon.Lambda.RuntimeSupport/Bootstrap/UserCodeInit.cs +++ b/Libraries/src/Amazon.Lambda.RuntimeSupport/Bootstrap/UserCodeInit.cs @@ -1,4 +1,4 @@ -/* +/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). @@ -29,19 +29,19 @@ namespace Amazon.Lambda.RuntimeSupport.Bootstrap { internal class UserCodeInit { - public static bool IsCallPreJit() + public static bool IsCallPreJit(IEnvironmentVariables environmentVariables) { #if NET6_0_OR_GREATER // If we are running in an AOT environment, there is no point in doing any prejit optmization // and will most likely cause errors using APIs that are not supported in AOT. - if(NativeAotHelper.IsRunningNativeAot()) + if(Utils.IsRunningNativeAot()) { return false; } #endif - string awsLambdaDotNetPreJitStr = Environment.GetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PREJIT); - string awsLambdaInitTypeStr = Environment.GetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_INITIALIZATION_TYPE); + string awsLambdaDotNetPreJitStr = environmentVariables.GetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PREJIT); + string awsLambdaInitTypeStr = environmentVariables.GetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_INITIALIZATION_TYPE); AwsLambdaDotNetPreJit awsLambdaDotNetPreJit; bool isParsed = Enum.TryParse(awsLambdaDotNetPreJitStr, true, out awsLambdaDotNetPreJit); if (!isParsed) @@ -110,11 +110,11 @@ public static void InitSerializationAssembly(Expression outputExpression, Parame } } - public static void LoadStringCultureInfo() + public static void LoadStringCultureInfo(IEnvironmentVariables environmentVariables) { try { - string locale = Environment.GetEnvironmentVariable(ENVIRONMENT_VARIABLE_LANG); + string locale = environmentVariables.GetEnvironmentVariable(ENVIRONMENT_VARIABLE_LANG); if (!string.IsNullOrEmpty(locale)) { @@ -205,4 +205,4 @@ void LoadReferencedAssemblies(Assembly assembly) } } } -} \ No newline at end of file +} diff --git a/Libraries/src/Amazon.Lambda.RuntimeSupport/Bootstrap/UserCodeLoader.cs b/Libraries/src/Amazon.Lambda.RuntimeSupport/Bootstrap/UserCodeLoader.cs index f20dfe7af..340648405 100644 --- a/Libraries/src/Amazon.Lambda.RuntimeSupport/Bootstrap/UserCodeLoader.cs +++ b/Libraries/src/Amazon.Lambda.RuntimeSupport/Bootstrap/UserCodeLoader.cs @@ -40,6 +40,7 @@ internal class UserCodeLoader internal const string LambdaCoreAssemblyName = "Amazon.Lambda.Core"; + private readonly IEnvironmentVariables _environmentVariables; private readonly InternalLogger _logger; private readonly string _handlerString; private bool _customerLoggerSetUpComplete; @@ -50,15 +51,18 @@ internal class UserCodeLoader /// /// Initializes UserCodeLoader with a given handler and internal logger. /// + /// /// /// - public UserCodeLoader(string handler, InternalLogger logger) + public UserCodeLoader(IEnvironmentVariables environmentVariables, string handler, InternalLogger logger) { if (string.IsNullOrEmpty(handler)) { throw new ArgumentNullException(nameof(handler)); } + _environmentVariables = environmentVariables; + _logger = logger; _handlerString = handler; } @@ -129,7 +133,7 @@ public void Init(Action customerLoggingAction) var customerSerializerInstance = GetSerializerObject(customerAssembly); _logger.LogDebug($"UCL : Constructing invoke delegate"); - var isPreJit = UserCodeInit.IsCallPreJit(); + var isPreJit = UserCodeInit.IsCallPreJit(_environmentVariables); var builder = new InvokeDelegateBuilder(_logger, _handler, CustomerMethodInfo); _invokeDelegate = builder.ConstructInvokeDelegate(customerObject, customerSerializerInstance, isPreJit); if (isPreJit) diff --git a/Libraries/src/Amazon.Lambda.RuntimeSupport/Client/RuntimeApiClient.cs b/Libraries/src/Amazon.Lambda.RuntimeSupport/Client/RuntimeApiClient.cs index aef6a5bbd..daa9fff24 100644 --- a/Libraries/src/Amazon.Lambda.RuntimeSupport/Client/RuntimeApiClient.cs +++ b/Libraries/src/Amazon.Lambda.RuntimeSupport/Client/RuntimeApiClient.cs @@ -32,9 +32,9 @@ public class RuntimeApiClient : IRuntimeApiClient private readonly IInternalRuntimeApiClient _internalClient; #if NET6_0_OR_GREATER - private readonly IConsoleLoggerWriter _consoleLoggerRedirector = new LogLevelLoggerWriter(); + private readonly IConsoleLoggerWriter _consoleLoggerRedirector; #else - private readonly IConsoleLoggerWriter _consoleLoggerRedirector = new SimpleLoggerWriter(); + private readonly IConsoleLoggerWriter _consoleLoggerRedirector; #endif internal Func ExceptionConverter { get; set; } @@ -54,6 +54,12 @@ public RuntimeApiClient(HttpClient httpClient) internal RuntimeApiClient(IEnvironmentVariables environmentVariables, HttpClient httpClient, LambdaBootstrapOptions lambdaBootstrapOptions = null) { +#if NET6_0_OR_GREATER + _consoleLoggerRedirector = new LogLevelLoggerWriter(environmentVariables); +#else + _consoleLoggerRedirector = new SimpleLoggerWriter(environmentVariables); +#endif + ExceptionConverter = ExceptionInfo.GetExceptionInfo; _httpClient = httpClient; LambdaEnvironment = new LambdaEnvironment(environmentVariables, lambdaBootstrapOptions); @@ -110,13 +116,11 @@ public async Task GetNextInvocationAsync(CancellationToken ca SwaggerResponse response = await _internalClient.NextAsync(cancellationToken); var headers = new RuntimeApiHeaders(response.Headers); - _consoleLoggerRedirector.SetRuntimeHeaders(headers); - var lambdaContext = new LambdaContext(headers, LambdaEnvironment, _consoleLoggerRedirector); return new InvocationRequest { InputStream = response.Result, - LambdaContext = lambdaContext, + LambdaContext = lambdaContext }; } diff --git a/Libraries/src/Amazon.Lambda.RuntimeSupport/Context/IEnvironmentVariables.cs b/Libraries/src/Amazon.Lambda.RuntimeSupport/Context/IEnvironmentVariables.cs index 4d97576d1..f22517854 100644 --- a/Libraries/src/Amazon.Lambda.RuntimeSupport/Context/IEnvironmentVariables.cs +++ b/Libraries/src/Amazon.Lambda.RuntimeSupport/Context/IEnvironmentVariables.cs @@ -1,4 +1,4 @@ -/* +/* * Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). @@ -20,10 +20,26 @@ namespace Amazon.Lambda.RuntimeSupport /// Interface to access environment variables. /// Allows for unit testing without changing the real System environment variables. /// - internal interface IEnvironmentVariables + public interface IEnvironmentVariables { + /// + /// Sets the value for an environment variable. + /// + /// + /// void SetEnvironmentVariable(string variable, string value); + + /// + /// Get the value for an environment variable. + /// + /// + /// string GetEnvironmentVariable(string variable); + + /// + /// Get all environment variables. + /// + /// IDictionary GetEnvironmentVariables(); } } diff --git a/Libraries/src/Amazon.Lambda.RuntimeSupport/Context/LambdaBootstrapConfiguration.cs b/Libraries/src/Amazon.Lambda.RuntimeSupport/Context/LambdaBootstrapConfiguration.cs index c76588bc3..96e913312 100644 --- a/Libraries/src/Amazon.Lambda.RuntimeSupport/Context/LambdaBootstrapConfiguration.cs +++ b/Libraries/src/Amazon.Lambda.RuntimeSupport/Context/LambdaBootstrapConfiguration.cs @@ -18,13 +18,13 @@ internal LambdaBootstrapConfiguration(bool isCallPreJit, bool isInitTypeSnapstar IsInitTypeSnapstart = isInitTypeSnapstart; } - internal static LambdaBootstrapConfiguration GetDefaultConfiguration() + internal static LambdaBootstrapConfiguration GetDefaultConfiguration(IEnvironmentVariables environmentVariables) { - bool isCallPreJit = UserCodeInit.IsCallPreJit(); + bool isCallPreJit = UserCodeInit.IsCallPreJit(environmentVariables); #if NET8_0_OR_GREATER bool isInitTypeSnapstart = string.Equals( - Environment.GetEnvironmentVariable(Constants.ENVIRONMENT_VARIABLE_AWS_LAMBDA_INITIALIZATION_TYPE), + environmentVariables.GetEnvironmentVariable(Constants.ENVIRONMENT_VARIABLE_AWS_LAMBDA_INITIALIZATION_TYPE), Constants.AWS_LAMBDA_INITIALIZATION_TYPE_SNAP_START); return new LambdaBootstrapConfiguration(isCallPreJit, isInitTypeSnapstart); diff --git a/Libraries/src/Amazon.Lambda.RuntimeSupport/Context/LambdaContext.cs b/Libraries/src/Amazon.Lambda.RuntimeSupport/Context/LambdaContext.cs index 516b681f1..cca6f4e5d 100644 --- a/Libraries/src/Amazon.Lambda.RuntimeSupport/Context/LambdaContext.cs +++ b/Libraries/src/Amazon.Lambda.RuntimeSupport/Context/LambdaContext.cs @@ -23,14 +23,14 @@ internal class LambdaContext : ILambdaContext { internal static readonly DateTime UnixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); - private LambdaEnvironment _lambdaEnvironment; - private RuntimeApiHeaders _runtimeApiHeaders; - private IDateTimeHelper _dateTimeHelper; - private long _deadlineMs; - private int _memoryLimitInMB; + private readonly LambdaEnvironment _lambdaEnvironment; + private readonly RuntimeApiHeaders _runtimeApiHeaders; + private readonly IDateTimeHelper _dateTimeHelper; + private readonly long _deadlineMs; + private readonly int _memoryLimitInMB; private readonly Lazy _cognitoIdentityLazy; private readonly Lazy _cognitoClientContextLazy; - private IConsoleLoggerWriter _consoleLogger; + private readonly IConsoleLoggerWriter _consoleLogger; public LambdaContext(RuntimeApiHeaders runtimeApiHeaders, LambdaEnvironment lambdaEnvironment, IConsoleLoggerWriter consoleLogger) : this(runtimeApiHeaders, lambdaEnvironment, new DateTimeHelper(), consoleLogger) @@ -49,9 +49,6 @@ public LambdaContext(RuntimeApiHeaders runtimeApiHeaders, LambdaEnvironment lamb long.TryParse(_runtimeApiHeaders.DeadlineMs, out _deadlineMs); _cognitoIdentityLazy = new Lazy(() => CognitoIdentity.FromJson(runtimeApiHeaders.CognitoIdentityJson)); _cognitoClientContextLazy = new Lazy(() => CognitoClientContext.FromJson(runtimeApiHeaders.ClientContextJson)); - - // set environment variable so that if the function uses the XRay client it will work correctly - _lambdaEnvironment.SetXAmznTraceId(_runtimeApiHeaders.TraceId); } public string TraceId => _runtimeApiHeaders.TraceId; @@ -79,5 +76,7 @@ public LambdaContext(RuntimeApiHeaders runtimeApiHeaders, LambdaEnvironment lamb public TimeSpan RemainingTime => TimeSpan.FromMilliseconds(_deadlineMs - (_dateTimeHelper.UtcNow - UnixEpoch).TotalMilliseconds); public string TenantId => _runtimeApiHeaders.TenantId; + + internal IRuntimeApiHeaders RuntimeApiHeaders => _runtimeApiHeaders; } } diff --git a/Libraries/src/Amazon.Lambda.RuntimeSupport/Context/LambdaEnvironment.cs b/Libraries/src/Amazon.Lambda.RuntimeSupport/Context/LambdaEnvironment.cs index ffa553cc7..68e2a70a3 100644 --- a/Libraries/src/Amazon.Lambda.RuntimeSupport/Context/LambdaEnvironment.cs +++ b/Libraries/src/Amazon.Lambda.RuntimeSupport/Context/LambdaEnvironment.cs @@ -81,11 +81,6 @@ private void SetExecutionEnvironment() } } - internal void SetXAmznTraceId(string xAmznTraceId) - { - _environmentVariables.SetEnvironmentVariable(EnvVarTraceId, xAmznTraceId); - } - /// /// Gets the FunctionMemorySize /// diff --git a/Libraries/src/Amazon.Lambda.RuntimeSupport/Helpers/ConsoleLoggerWriter.cs b/Libraries/src/Amazon.Lambda.RuntimeSupport/Helpers/ConsoleLoggerWriter.cs index d57d3e306..2caa708e3 100644 --- a/Libraries/src/Amazon.Lambda.RuntimeSupport/Helpers/ConsoleLoggerWriter.cs +++ b/Libraries/src/Amazon.Lambda.RuntimeSupport/Helpers/ConsoleLoggerWriter.cs @@ -73,16 +73,16 @@ public class SimpleLoggerWriter : IConsoleLoggerWriter /// /// Default Constructor /// - public SimpleLoggerWriter() + public SimpleLoggerWriter(IEnvironmentVariables environmentVariables) { // Look to see if Lambda's telemetry log file descriptor is available. If so use that for logging. // This will make sure multiline log messages use a single CloudWatch Logs record. - var fileDescriptorLogId = Environment.GetEnvironmentVariable(Constants.ENVIRONMENT_VARIABLE_TELEMETRY_LOG_FD); + var fileDescriptorLogId = environmentVariables.GetEnvironmentVariable(Constants.ENVIRONMENT_VARIABLE_TELEMETRY_LOG_FD); if (fileDescriptorLogId != null) { try { - _writer = FileDescriptorLogFactory.GetWriter(fileDescriptorLogId); + _writer = FileDescriptorLogFactory.GetWriter(environmentVariables, fileDescriptorLogId); InternalLogger.GetDefaultLogger().LogInformation("Using file descriptor stream writer for logging"); } catch (Exception ex) @@ -170,6 +170,7 @@ public enum LogLevel Critical = 5 } + readonly IEnvironmentVariables _environmentVariables; WrapperTextWriter _wrappedStdOutWriter; WrapperTextWriter _wrappedStdErrorWriter; @@ -180,17 +181,19 @@ public enum LogLevel /// Stdout will default log messages to be Information /// Stderror will default log messages to be Error /// - public LogLevelLoggerWriter() + /// Environment variables interface. + public LogLevelLoggerWriter(IEnvironmentVariables environmentVariables) { + _environmentVariables = environmentVariables; // Look to see if Lambda's telemetry log file descriptor is available. If so use that for logging. // This will make sure multiline log messages use a single CloudWatch Logs record. - var fileDescriptorLogId = Environment.GetEnvironmentVariable(Constants.ENVIRONMENT_VARIABLE_TELEMETRY_LOG_FD); + var fileDescriptorLogId = environmentVariables.GetEnvironmentVariable(Constants.ENVIRONMENT_VARIABLE_TELEMETRY_LOG_FD); if (fileDescriptorLogId != null) { try { - var stdOutWriter = FileDescriptorLogFactory.GetWriter(fileDescriptorLogId); - var stdErrorWriter = FileDescriptorLogFactory.GetWriter(fileDescriptorLogId); + var stdOutWriter = FileDescriptorLogFactory.GetWriter(environmentVariables, fileDescriptorLogId); + var stdErrorWriter = FileDescriptorLogFactory.GetWriter(environmentVariables, fileDescriptorLogId); Initialize(stdOutWriter, stdErrorWriter); InternalLogger.GetDefaultLogger().LogInformation("Using file descriptor stream writer for logging."); } @@ -229,8 +232,8 @@ public LogLevelLoggerWriter(TextWriter stdOutWriter, TextWriter stdErrorWriter) private void Initialize(TextWriter stdOutWriter, TextWriter stdErrorWriter) { - _wrappedStdOutWriter = new WrapperTextWriter(stdOutWriter, LogLevel.Information.ToString()); - _wrappedStdErrorWriter = new WrapperTextWriter(stdErrorWriter, LogLevel.Error.ToString()); + _wrappedStdOutWriter = new WrapperTextWriter(_environmentVariables, stdOutWriter, LogLevel.Information.ToString()); + _wrappedStdErrorWriter = new WrapperTextWriter(_environmentVariables, stdErrorWriter, LogLevel.Error.ToString()); } /// @@ -300,6 +303,7 @@ public void FormattedWriteLine(string level, Exception exception, string message /// class WrapperTextWriter : TextWriter { + private readonly IEnvironmentVariables _environmentVariables; private readonly TextWriter _innerWriter; private readonly string _defaultLogLevel; @@ -311,7 +315,34 @@ enum LogFormatType { Default, Unformatted, Json } private readonly ILogMessageFormatter _logMessageFormatter; - public IRuntimeApiHeaders CurrentRuntimeApiHeaders { get; set; } + // If running in multi concurrency mode we need to store the current aws request id in Task + // local storage to avoid the wrong request id being logged for a log statement. If not using + // multi concurrency mode we use the quicker to access string member variable. + private readonly AsyncLocal _currentRuntimeApiHeadersStorage; + private IRuntimeApiHeaders _currentRuntimeApiHeaders; + + public IRuntimeApiHeaders CurrentRuntimeApiHeaders + { + get + { + if (Utils.IsUsingMultiConcurrency(_environmentVariables)) + { + return _currentRuntimeApiHeadersStorage.Value; + } + return _currentRuntimeApiHeaders; + } + set + { + if (Utils.IsUsingMultiConcurrency(_environmentVariables)) + { + _currentRuntimeApiHeadersStorage.Value = value; + } + else + { + _currentRuntimeApiHeaders = value; + } + } + } /// /// This is typically set to either Console.Out or Console.Error to make sure we acquiring a lock @@ -324,13 +355,20 @@ enum LogFormatType { Default, Unformatted, Json } /// /// Create an instance /// + /// /// /// - public WrapperTextWriter(TextWriter innerWriter, string defaultLogLevel) + public WrapperTextWriter(IEnvironmentVariables environmentVariables, TextWriter innerWriter, string defaultLogLevel) { + _environmentVariables = environmentVariables; _innerWriter = innerWriter; _defaultLogLevel = defaultLogLevel; + if(Utils.IsUsingMultiConcurrency(environmentVariables)) + { + _currentRuntimeApiHeadersStorage = new AsyncLocal(); + } + var envLogLevel = GetEnvironmentVariable(Constants.NET_RIC_LOG_LEVEL_ENVIRONMENT_VARIABLE, Constants.LAMBDA_LOG_LEVEL_ENVIRONMENT_VARIABLE); if (!string.IsNullOrEmpty(envLogLevel)) { @@ -374,10 +412,10 @@ public WrapperTextWriter(TextWriter innerWriter, string defaultLogLevel) private string GetEnvironmentVariable(string envName, string fallbackEnvName) { - var value = Environment.GetEnvironmentVariable(envName); + var value = _environmentVariables.GetEnvironmentVariable(envName); if(string.IsNullOrEmpty(value) && fallbackEnvName != null) { - value = Environment.GetEnvironmentVariable(fallbackEnvName); + value = _environmentVariables.GetEnvironmentVariable(fallbackEnvName); } return value; @@ -407,11 +445,14 @@ internal void FormattedWriteLine(string level, Exception exception, string messa messageState.Level = levelEnum; messageState.Exception = exception; - if (CurrentRuntimeApiHeaders != null) + // Capture the IRuntimeApiHeaders into a local variable to avoid repeatedly accessing the backing AsyncLocal + // or having AsyncLocal change in between accessing. + var runtimeApiHeaders = CurrentRuntimeApiHeaders; + if (runtimeApiHeaders != null) { - messageState.AwsRequestId = CurrentRuntimeApiHeaders.AwsRequestId; - messageState.TenantId = CurrentRuntimeApiHeaders.TenantId; - messageState.TraceId = CurrentRuntimeApiHeaders.TraceId; + messageState.AwsRequestId = runtimeApiHeaders.AwsRequestId; + messageState.TenantId = runtimeApiHeaders.TenantId; + messageState.TraceId = runtimeApiHeaders.TraceId; } var message = _logMessageFormatter.FormatMessage(messageState); diff --git a/Libraries/src/Amazon.Lambda.RuntimeSupport/Helpers/FileDescriptorLogStream.cs b/Libraries/src/Amazon.Lambda.RuntimeSupport/Helpers/FileDescriptorLogStream.cs index 2510c421a..2612f3b22 100644 --- a/Libraries/src/Amazon.Lambda.RuntimeSupport/Helpers/FileDescriptorLogStream.cs +++ b/Libraries/src/Amazon.Lambda.RuntimeSupport/Helpers/FileDescriptorLogStream.cs @@ -1,4 +1,4 @@ -/* +/* * Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). @@ -41,14 +41,15 @@ public static class FileDescriptorLogFactory /// /// Get the StreamWriter for the particular file descriptor ID. If the same ID is passed the same StreamWriter instance is returned. /// + /// /// /// - public static StreamWriter GetWriter(string fileDescriptorId) + public static StreamWriter GetWriter(IEnvironmentVariables environmentVariables, string fileDescriptorId) { var writer = _writers.GetOrAdd(fileDescriptorId, (x) => { SafeFileHandle handle = new SafeFileHandle(new IntPtr(int.Parse(fileDescriptorId)), false); - return InitializeWriter(new FileStream(handle, FileAccess.Write)); + return InitializeWriter(environmentVariables, new FileStream(handle, FileAccess.Write)); }); return writer; } @@ -57,15 +58,16 @@ public static StreamWriter GetWriter(string fileDescriptorId) /// Initialize a StreamWriter for the given Stream. /// This method is internal as it is tested in Amazon.RuntimeSupport.Tests /// + /// /// /// - internal static StreamWriter InitializeWriter(Stream fileDescriptorStream) + internal static StreamWriter InitializeWriter(IEnvironmentVariables environmentVariables, Stream fileDescriptorStream) { // AutoFlush must be turned out otherwise the StreamWriter might not send the data to the stream before the Lambda function completes. // Set the buffer size to the same max size as CloudWatch Logs records. // Encoder has encoderShouldEmitUTF8Identifier = false as Lambda FD will assume UTF-8 so there is no need to emit an extra log entry. // In fact this extra log entry is cast to UTF-8 and results in an empty log entry which will be rejected by CloudWatch Logs. - return new NonDisposableStreamWriter(new FileDescriptorLogStream(fileDescriptorStream), + return new NonDisposableStreamWriter(new FileDescriptorLogStream(environmentVariables, fileDescriptorStream), new UTF8Encoding(false), MaxCloudWatchLogEventSize) { AutoFlush = true }; } @@ -88,9 +90,9 @@ private class FileDescriptorLogStream : Stream private readonly byte[] _frameTypeBytes; private readonly uint _frameType; - public FileDescriptorLogStream(Stream logStream) + public FileDescriptorLogStream(IEnvironmentVariables environmentVariables, Stream logStream) { - var logFormat = Environment.GetEnvironmentVariable(Constants.LAMBDA_LOG_FORMAT_ENVIRONMENT_VARIABLE); + var logFormat = environmentVariables.GetEnvironmentVariable(Constants.LAMBDA_LOG_FORMAT_ENVIRONMENT_VARIABLE); _frameType = string.Equals(logFormat, Constants.LAMBDA_LOG_FORMAT_JSON, StringComparison.InvariantCultureIgnoreCase) ? LambdaTelemetryLogHeaderFrameTypeJson : LambdaTelemetryLogHeaderFrameTypeText; diff --git a/Libraries/src/Amazon.Lambda.RuntimeSupport/Helpers/NativeAotHelper.cs b/Libraries/src/Amazon.Lambda.RuntimeSupport/Helpers/NativeAotHelper.cs deleted file mode 100644 index 2c8b66f55..000000000 --- a/Libraries/src/Amazon.Lambda.RuntimeSupport/Helpers/NativeAotHelper.cs +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -using System.Runtime.CompilerServices; - -namespace Amazon.Lambda.RuntimeSupport.Helpers -{ - internal static class NativeAotHelper - { - public static bool IsRunningNativeAot() - { - // If dynamic code is not supported we are most likely running in an AOT environment. -#if NET6_0_OR_GREATER - return !RuntimeFeature.IsDynamicCodeSupported; -#else - return false; -#endif - } - } -} diff --git a/Libraries/src/Amazon.Lambda.RuntimeSupport/Helpers/TraceProviderIsolated.cs b/Libraries/src/Amazon.Lambda.RuntimeSupport/Helpers/TraceProviderIsolated.cs new file mode 100644 index 000000000..48748d419 --- /dev/null +++ b/Libraries/src/Amazon.Lambda.RuntimeSupport/Helpers/TraceProviderIsolated.cs @@ -0,0 +1,32 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +namespace Amazon.Lambda.RuntimeSupport.Helpers +{ + /// + /// This wrapper class is used to add a layer of protection around calling LambdaTraceProvider.SetCurrentTraceId + /// from Amazon.Lambda.Core. If the provided Lambda function code does not include a version of Amazon.Lambda.Core + /// that has Amazon.Lambda.Core.LambdaTraceProvider.SetCurrentTraceId a + /// will be thrown when parent calling method is called. + /// + /// For example if Amazon.Lambda.Core.LambdaTraceProvider.SetCurrentTraceId was called directly in the bootstrap's main + /// invoke method the TypeLoadException would be thrown when the invoke method is called giving the invoke method + /// no time to recover. By having this wrapper the invoke method can call this method if the Core version is out of date + /// and the TypeLoadException will be thrown at the point of calling this method allowing the main invoke method to + /// catch the exception and handle it appropriately. + /// + internal class TraceProviderIsolated + { + /// + /// Set the trace id on the LambdaTraceProvider in Amazon.Lambda.Core. + /// + /// + /// If the version of Amazon.Lambda.Core used does not contain the SetCurrentTraceId method. + internal static void SetCurrentTraceId(string traceId) + { +#if !ANALYZER_UNIT_TESTS // This precompiler directive is used to avoid the unit tests from needing a dependency on Amazon.Lambda.Core. + Amazon.Lambda.Core.LambdaTraceProvider.SetCurrentTraceId(traceId); +#endif + } + } +} diff --git a/Libraries/src/Amazon.Lambda.RuntimeSupport/Helpers/Utils.cs b/Libraries/src/Amazon.Lambda.RuntimeSupport/Helpers/Utils.cs new file mode 100644 index 000000000..e23c0e588 --- /dev/null +++ b/Libraries/src/Amazon.Lambda.RuntimeSupport/Helpers/Utils.cs @@ -0,0 +1,113 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +using System; +using System.Runtime.CompilerServices; +using Amazon.Lambda.RuntimeSupport.Bootstrap; + +namespace Amazon.Lambda.RuntimeSupport.Helpers +{ + internal static class Utils + { + public static bool IsRunningNativeAot() + { + // If dynamic code is not supported we are most likely running in an AOT environment. +#if NET6_0_OR_GREATER + return !RuntimeFeature.IsDynamicCodeSupported; +#else + return false; +#endif + + } + + /// + /// Determines if the Lambda function is running in multi concurrency mode. + /// + internal static bool IsUsingMultiConcurrency(IEnvironmentVariables environmentVariables) + { + return !string.IsNullOrEmpty(environmentVariables.GetEnvironmentVariable(Constants.ENVIRONMENT_VARIABLE_AWS_LAMBDA_MAX_CONCURRENCY)); + } + + /// + /// Determines the number of .NET Tasks that should be created that will iterate a loop polling the Lambda runtime for new events. + /// + /// + /// + internal static int DetermineProcessingTaskCount(IEnvironmentVariables environmentVariables, int processorCount) + { + var processingTaskCount = 1; + if (IsUsingMultiConcurrency(environmentVariables)) + { + // Check the .NET specific environment variable that allows customers the option to override our default computed value. + var overrideCount = environmentVariables.GetEnvironmentVariable(Constants.ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PROCESSING_TASKS); + if (!string.IsNullOrEmpty(overrideCount)) + { + if (!int.TryParse(overrideCount, out processingTaskCount) || processingTaskCount <= 0) + { + throw new ArgumentException($"Value {overrideCount} for environment variable {Constants.ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PROCESSING_TASKS} failed to parse as an integer greater then 0"); + } + } + else + { + processingTaskCount = Math.Max(2, processorCount); + } + } + + return processingTaskCount; + } + + /// + /// Create an Action callback that can be used for setting the trace id on the AWS SDK for .NET if the SDK is present. + /// If the AWS .NET SDK is not found then null is returned. + /// + /// +#if NET8_0_OR_GREATER + [System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage("Trimming", "IL2026", + Justification = "Loading the type is okay to fail if the user is not using the AWS SDK for .NET or it is an old version. If they are using an SDK with the SDKTaskContext the SDK has the attributes to avoid the Set method being trimmed.")] +#endif + internal static Action FindAWSSDKTraceIdSetter(IEnvironmentVariables environmentVariables) + { + if (!Utils.IsUsingMultiConcurrency(environmentVariables)) + return null; + + // Since the AWSSDK.Core is strongly named we need to check the assembly version for + // both V3 and V4. The assembly version is only changed on major releases. + // In V3 the assembly version was updated to 3.3.0.0 when .NET Core support was added and then was never + // updated again that major version. + var sdkTaskContextType = Type.GetType("Amazon.Runtime.SDKTaskContext, AWSSDK.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604") ?? + Type.GetType("Amazon.Runtime.SDKTaskContext, AWSSDK.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604"); + + if (sdkTaskContextType == null) + return null; + + var defaultProperty = sdkTaskContextType.GetProperty("Default", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); + if (defaultProperty == null) + return null; + + var defaultInstance = defaultProperty.GetValue(null); + if (defaultInstance == null) + return null; + + var setMethod = sdkTaskContextType.GetMethod("Set", new Type[] { typeof(string), typeof(object) }); + if (setMethod == null) + return null; + + return (string traceId) => + { + setMethod.Invoke(defaultInstance, new object[] { "_X_AMZN_TRACE_ID", traceId }); + }; + } + } +} diff --git a/Libraries/src/Amazon.Lambda.RuntimeSupport/RuntimeSupportInitializer.cs b/Libraries/src/Amazon.Lambda.RuntimeSupport/RuntimeSupportInitializer.cs index 11623c4b7..b7f36cc31 100644 --- a/Libraries/src/Amazon.Lambda.RuntimeSupport/RuntimeSupportInitializer.cs +++ b/Libraries/src/Amazon.Lambda.RuntimeSupport/RuntimeSupportInitializer.cs @@ -62,10 +62,17 @@ public async Task RunLambdaBootstrap() { await _debugAttacher.TryAttachDebugger(); - var userCodeLoader = new UserCodeLoader(_handler, _logger); + var environmentVariables = new SystemEnvironmentVariables(); + var userCodeLoader = new UserCodeLoader(environmentVariables, _handler, _logger); var initializer = new UserCodeInitializer(userCodeLoader, _logger); using (var handlerWrapper = HandlerWrapper.GetHandlerWrapper(userCodeLoader.Invoke)) - using (var bootstrap = new LambdaBootstrap(handlerWrapper, _lambdaBootstrapOptions, initializer.InitializeAsync)) + using (var bootstrap = new LambdaBootstrap( + httpClient: null, + handler: handlerWrapper.Handler, + initializer: initializer.InitializeAsync, + ownsHttpClient: true, + lambdaBootstrapOptions: _lambdaBootstrapOptions, + environmentVariables: environmentVariables)) { await bootstrap.RunAsync(); } diff --git a/Libraries/src/Amazon.Lambda.Serialization.SystemTextJson/Amazon.Lambda.Serialization.SystemTextJson.csproj b/Libraries/src/Amazon.Lambda.Serialization.SystemTextJson/Amazon.Lambda.Serialization.SystemTextJson.csproj index 1129dd34b..5fe26ce3c 100644 --- a/Libraries/src/Amazon.Lambda.Serialization.SystemTextJson/Amazon.Lambda.Serialization.SystemTextJson.csproj +++ b/Libraries/src/Amazon.Lambda.Serialization.SystemTextJson/Amazon.Lambda.Serialization.SystemTextJson.csproj @@ -10,7 +10,13 @@ Amazon.Lambda.Serialization.SystemTextJson AWS;Amazon;Lambda 2.4.4 - README.md + README.md + + false diff --git a/Libraries/src/SnapshotRestore.Registry/SnapshotRestore.Registry.csproj b/Libraries/src/SnapshotRestore.Registry/SnapshotRestore.Registry.csproj index 455edf22d..0664c1214 100644 --- a/Libraries/src/SnapshotRestore.Registry/SnapshotRestore.Registry.csproj +++ b/Libraries/src/SnapshotRestore.Registry/SnapshotRestore.Registry.csproj @@ -21,6 +21,12 @@ true true NU5048;NU1903 + + false diff --git a/Libraries/test/Amazon.Lambda.Annotations.SourceGenerators.Tests/CSharpSourceGeneratorVerifier.cs b/Libraries/test/Amazon.Lambda.Annotations.SourceGenerators.Tests/CSharpSourceGeneratorVerifier.cs index 7f42bb85b..fa55b0e48 100644 --- a/Libraries/test/Amazon.Lambda.Annotations.SourceGenerators.Tests/CSharpSourceGeneratorVerifier.cs +++ b/Libraries/test/Amazon.Lambda.Annotations.SourceGenerators.Tests/CSharpSourceGeneratorVerifier.cs @@ -30,9 +30,13 @@ public enum ReferencesMode {All, NoApiGatewayEvents} public enum TargetFramework { Net60, Net80 } + private ImmutableArray PreprocessorSymbols { get; set; } = ImmutableArray.Empty; + public Test(ReferencesMode referencesMode = ReferencesMode.All, TargetFramework targetFramework = TargetFramework.Net60) { - if(referencesMode == ReferencesMode.NoApiGatewayEvents) + PreprocessorSymbols = ImmutableArray.Create("ANALYZER_UNIT_TESTS"); + + if (referencesMode == ReferencesMode.NoApiGatewayEvents) { this.SolutionTransforms.Add((solution, projectId) => { @@ -129,7 +133,9 @@ private static ImmutableDictionary EnableNullability() protected override ParseOptions CreateParseOptions() { - return ((CSharpParseOptions)base.CreateParseOptions()).WithLanguageVersion(LanguageVersion); + return ((CSharpParseOptions)base.CreateParseOptions()) + .WithLanguageVersion(LanguageVersion) + .WithPreprocessorSymbols(PreprocessorSymbols); } } } diff --git a/Libraries/test/Amazon.Lambda.Annotations.SourceGenerators.Tests/SourceGeneratorTests.cs b/Libraries/test/Amazon.Lambda.Annotations.SourceGenerators.Tests/SourceGeneratorTests.cs index f3d622232..640da8e9e 100644 --- a/Libraries/test/Amazon.Lambda.Annotations.SourceGenerators.Tests/SourceGeneratorTests.cs +++ b/Libraries/test/Amazon.Lambda.Annotations.SourceGenerators.Tests/SourceGeneratorTests.cs @@ -706,7 +706,7 @@ public async Task VerifySourceGeneratorSerializerWithHttpResultsBody() if (file.EndsWith("Program.cs") && content.Contains("Task Main(string[] args)")) continue; - test.TestState.Sources.Add((file, await File.ReadAllTextAsync(file))); + test.TestState.Sources.Add((file, content)); } await test.RunAsync(); diff --git a/Libraries/test/Amazon.Lambda.Core.Tests/Amazon.Lambda.Core.Tests.csproj b/Libraries/test/Amazon.Lambda.Core.Tests/Amazon.Lambda.Core.Tests.csproj index 0c1665b85..755b6b95e 100644 --- a/Libraries/test/Amazon.Lambda.Core.Tests/Amazon.Lambda.Core.Tests.csproj +++ b/Libraries/test/Amazon.Lambda.Core.Tests/Amazon.Lambda.Core.Tests.csproj @@ -5,6 +5,8 @@ Amazon.Lambda.Core.Tests Amazon.Lambda.Core.Tests true + ..\..\..\buildtools\public.snk + true diff --git a/Libraries/test/Amazon.Lambda.Core.Tests/TraveProviderTests.cs b/Libraries/test/Amazon.Lambda.Core.Tests/TraveProviderTests.cs new file mode 100644 index 000000000..5c1db8ff0 --- /dev/null +++ b/Libraries/test/Amazon.Lambda.Core.Tests/TraveProviderTests.cs @@ -0,0 +1,55 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using Xunit; + + +namespace Amazon.Lambda.Core.Tests +{ + public class TraveProviderTests + { + [Fact] + public void SetTraceIdNoMultiConcurrency() + { + LambdaTraceProvider.SetCurrentTraceId("trace-id-123"); + Assert.Equal("trace-id-123", LambdaTraceProvider.CurrentTraceId); + } + + [Fact] + public async Task SetTraceIdWithMultiConcurrency() + { + Environment.SetEnvironmentVariable(LambdaTraceProvider.ENV_VAR_AWS_LAMBDA_MAX_CONCURRENCY, "2"); + try + { + var successCount = 0; + Func action = async (sleep, traceId) => + { + LambdaTraceProvider.SetCurrentTraceId(traceId); + await Task.Delay(sleep); + Assert.Equal(traceId, LambdaTraceProvider.CurrentTraceId); + Interlocked.Increment(ref successCount); + }; + + var tasks = new List + { + Task.Run(async () => await action(500, "trace-id-1")), + Task.Run(async () => await action(200, "trace-id-2")), + Task.Run(async () => await action(350, "trace-id-3")) + }; + + await Task.WhenAll(tasks); + Assert.Equal(3, successCount); + } + finally + { + Environment.SetEnvironmentVariable(LambdaTraceProvider.ENV_VAR_AWS_LAMBDA_MAX_CONCURRENCY, null); + } + } + } +} diff --git a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.IntegrationTests/Amazon.Lambda.RuntimeSupport.IntegrationTests.csproj b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.IntegrationTests/Amazon.Lambda.RuntimeSupport.IntegrationTests.csproj index 7f816e917..86a3b5c1e 100644 --- a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.IntegrationTests/Amazon.Lambda.RuntimeSupport.IntegrationTests.csproj +++ b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.IntegrationTests/Amazon.Lambda.RuntimeSupport.IntegrationTests.csproj @@ -2,7 +2,6 @@ net8.0 - SKIP_RUNTIME_SUPPORT_INTEG_TESTS diff --git a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.IntegrationTests/BaseCustomRuntimeTest.cs b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.IntegrationTests/BaseCustomRuntimeTest.cs index e8eb5225d..44286d8bd 100644 --- a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.IntegrationTests/BaseCustomRuntimeTest.cs +++ b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.IntegrationTests/BaseCustomRuntimeTest.cs @@ -44,8 +44,11 @@ public class BaseCustomRuntimeTest protected string ExecutionRoleArn { get; set; } private const string TestsProjectDirectoryName = "Amazon.Lambda.RuntimeSupport.Tests"; - protected BaseCustomRuntimeTest(string functionName, string deploymentZipKey, string deploymentPackageZipRelativePath, string handler) + private IntegrationTestFixture _fixture; + + protected BaseCustomRuntimeTest(IntegrationTestFixture fixture, string functionName, string deploymentZipKey, string deploymentPackageZipRelativePath, string handler) { + _fixture = fixture; FunctionName = functionName; ExecutionRoleName = FunctionName; Handler = handler; @@ -329,13 +332,7 @@ protected async Task DeleteFunctionIfExistsAsync(IAmazonLambda lambdaClient) /// private string GetDeploymentZipPath() { - var testsProjectDirectory = FindUp(System.Environment.CurrentDirectory, TestsProjectDirectoryName, true); - if (string.IsNullOrEmpty(testsProjectDirectory)) - { - throw new NoDeploymentPackageFoundException(); - } - - var deploymentZipFile = Path.Combine(testsProjectDirectory, DeploymentPackageZipRelativePath.Replace('\\', Path.DirectorySeparatorChar)); + var deploymentZipFile = _fixture.TestAppPaths[DeploymentPackageZipRelativePath]; if (!File.Exists(deploymentZipFile)) { diff --git a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.IntegrationTests/CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest.cs b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.IntegrationTests/CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest.cs index 2661e4d1e..d8bb17103 100644 --- a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.IntegrationTests/CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest.cs +++ b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.IntegrationTests/CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest.cs @@ -1,4 +1,4 @@ -using Amazon.IdentityManagement; +using Amazon.IdentityManagement; using Amazon.IdentityManagement.Model; using Amazon.Lambda.Model; using Amazon.S3; @@ -21,17 +21,13 @@ namespace Amazon.Lambda.RuntimeSupport.IntegrationTests [Collection("Integration Tests")] public class CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest : BaseCustomRuntimeTest { - public CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest() - : base("CustomRuntimeMinimalApiCustomSerializerTest-" + DateTime.Now.Ticks, "CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest.zip", @"CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest\bin\Release\net6.0\CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest.zip", "bootstrap") + public CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest(IntegrationTestFixture fixture) + : base(fixture, "CustomRuntimeMinimalApiCustomSerializerTest-" + DateTime.Now.Ticks, "CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest.zip", @"CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest\bin\Release\net8.0\CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest.zip", "bootstrap") { } -#if SKIP_RUNTIME_SUPPORT_INTEG_TESTS - [Fact(Skip = "Skipped intentionally by setting the SkipRuntimeSupportIntegTests build parameter.")] -#else [Fact] -#endif public async Task TestMinimalApi() { // run all test cases in one test to ensure they run serially @@ -61,11 +57,7 @@ public async Task TestMinimalApi() } } -#if SKIP_RUNTIME_SUPPORT_INTEG_TESTS - [Fact(Skip = "Skipped intentionally by setting the SkipRuntimeSupportIntegTests build parameter.")] -#else [Fact] -#endif public async Task TestThreadingLogging() { // run all test cases in one test to ensure they run serially diff --git a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.IntegrationTests/CustomRuntimeAspNetCoreMinimalApiTest.cs b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.IntegrationTests/CustomRuntimeAspNetCoreMinimalApiTest.cs index 52f433b09..53fd92608 100644 --- a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.IntegrationTests/CustomRuntimeAspNetCoreMinimalApiTest.cs +++ b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.IntegrationTests/CustomRuntimeAspNetCoreMinimalApiTest.cs @@ -1,4 +1,4 @@ -using Amazon.IdentityManagement; +using Amazon.IdentityManagement; using Amazon.IdentityManagement.Model; using Amazon.Lambda.Model; using Amazon.S3; @@ -21,17 +21,13 @@ namespace Amazon.Lambda.RuntimeSupport.IntegrationTests [Collection("Integration Tests")] public class CustomRuntimeAspNetCoreMinimalApiTest : BaseCustomRuntimeTest { - public CustomRuntimeAspNetCoreMinimalApiTest() - : base("CustomRuntimeAspNetCoreMinimalApiTest-" + DateTime.Now.Ticks, "CustomRuntimeAspNetCoreMinimalApiTest.zip", @"CustomRuntimeAspNetCoreMinimalApiTest\bin\Release\net6.0\CustomRuntimeAspNetCoreMinimalApiTest.zip", "bootstrap") + public CustomRuntimeAspNetCoreMinimalApiTest(IntegrationTestFixture fixture) + : base(fixture, "CustomRuntimeAspNetCoreMinimalApiTest-" + DateTime.Now.Ticks, "CustomRuntimeAspNetCoreMinimalApiTest.zip", @"CustomRuntimeAspNetCoreMinimalApiTest\bin\Release\net8.0\CustomRuntimeAspNetCoreMinimalApiTest.zip", "bootstrap") { } -#if SKIP_RUNTIME_SUPPORT_INTEG_TESTS - [Fact(Skip = "Skipped intentionally by setting the SkipRuntimeSupportIntegTests build parameter.")] -#else [Fact] -#endif public async Task TestMinimalApi() { // run all test cases in one test to ensure they run serially @@ -61,11 +57,7 @@ public async Task TestMinimalApi() } } -#if SKIP_RUNTIME_SUPPORT_INTEG_TESTS - [Fact(Skip = "Skipped intentionally by setting the SkipRuntimeSupportIntegTests build parameter.")] -#else [Fact] -#endif public async Task TestThreadingLogging() { // run all test cases in one test to ensure they run serially diff --git a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.IntegrationTests/CustomRuntimeTests.cs b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.IntegrationTests/CustomRuntimeTests.cs index 066428f21..b548d5ba0 100644 --- a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.IntegrationTests/CustomRuntimeTests.cs +++ b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.IntegrationTests/CustomRuntimeTests.cs @@ -31,38 +31,15 @@ namespace Amazon.Lambda.RuntimeSupport.IntegrationTests { - [Collection("Integration Tests")] - public class CustomRuntimeNET6Tests : CustomRuntimeTests - { - public CustomRuntimeNET6Tests() - : base("CustomRuntimeNET6FunctionTest-" + DateTime.Now.Ticks, "CustomRuntimeFunctionTest.zip", @"CustomRuntimeFunctionTest\bin\Release\net6.0\CustomRuntimeFunctionTest.zip", "CustomRuntimeFunctionTest", TargetFramework.NET6) - { - } - -#if SKIP_RUNTIME_SUPPORT_INTEG_TESTS - [Fact(Skip = "Skipped intentionally by setting the SkipRuntimeSupportIntegTests build parameter.")] -#else - [Fact] -#endif - public async Task TestAllNET6HandlersAsync() - { - await base.TestAllHandlersAsync(); - } - } - [Collection("Integration Tests")] public class CustomRuntimeNET8Tests : CustomRuntimeTests { - public CustomRuntimeNET8Tests() - : base("CustomRuntimeNET8FunctionTest-" + DateTime.Now.Ticks, "CustomRuntimeFunctionTest.zip", @"CustomRuntimeFunctionTest\bin\Release\net8.0\CustomRuntimeFunctionTest.zip", "CustomRuntimeFunctionTest", TargetFramework.NET8) + public CustomRuntimeNET8Tests(IntegrationTestFixture fixture) + : base(fixture, "CustomRuntimeNET8FunctionTest-" + DateTime.Now.Ticks, "CustomRuntimeFunctionTest.zip", @"CustomRuntimeFunctionTest\bin\Release\net8.0\CustomRuntimeFunctionTest.zip", "CustomRuntimeFunctionTest", TargetFramework.NET8) { } -#if SKIP_RUNTIME_SUPPORT_INTEG_TESTS - [Fact(Skip = "Skipped intentionally by setting the SkipRuntimeSupportIntegTests build parameter.")] -#else [Fact] -#endif public async Task TestAllNET8HandlersAsync() { await base.TestAllHandlersAsync(); @@ -75,8 +52,8 @@ public enum TargetFramework { NET6, NET8} private TargetFramework _targetFramework; - public CustomRuntimeTests(string functionName, string deploymentZipKey, string deploymentPackageZipRelativePath, string handler, TargetFramework targetFramework) - : base(functionName, deploymentZipKey, deploymentPackageZipRelativePath, handler) + public CustomRuntimeTests(IntegrationTestFixture fixture, string functionName, string deploymentZipKey, string deploymentPackageZipRelativePath, string handler, TargetFramework targetFramework) + : base(fixture, functionName, deploymentZipKey, deploymentPackageZipRelativePath, handler) { _targetFramework = targetFramework; } @@ -129,7 +106,6 @@ protected virtual async Task TestAllHandlersAsync() await RunTestSuccessAsync(lambdaClient, "PingAsync", "ping", "PingAsync-pong"); await RunTestSuccessAsync(lambdaClient, "HttpsWorksAsync", "", "HttpsWorksAsync-SUCCESS"); await RunTestSuccessAsync(lambdaClient, "CertificateCallbackWorksAsync", "", "CertificateCallbackWorksAsync-SUCCESS"); - await RunTestSuccessAsync(lambdaClient, "NetworkingProtocolsAsync", "", "NetworkingProtocolsAsync-SUCCESS"); await RunTestSuccessAsync(lambdaClient, "HandlerEnvVarAsync", "", "HandlerEnvVarAsync-CustomRuntimeFunctionTest"); await RunTestExceptionAsync(lambdaClient, "AggregateExceptionUnwrappedAsync", "", "Exception", "Exception thrown from an async handler."); await RunTestExceptionAsync(lambdaClient, "AggregateExceptionUnwrapped", "", "Exception", "Exception thrown from a synchronous handler."); diff --git a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.IntegrationTests/IntegrationTestFixture.cs b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.IntegrationTests/IntegrationTestFixture.cs index bc6ddad99..89d62d61f 100644 --- a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.IntegrationTests/IntegrationTestFixture.cs +++ b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.IntegrationTests/IntegrationTestFixture.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.IO; using System.Threading.Tasks; using Amazon.Lambda.RuntimeSupport.IntegrationTests.Helpers; using Xunit; @@ -8,7 +9,9 @@ namespace Amazon.Lambda.RuntimeSupport.IntegrationTests; public class IntegrationTestFixture : IAsyncLifetime { private readonly List _tempPaths = new(); - + + public IDictionary TestAppPaths { get; } = new Dictionary(); + public async Task InitializeAsync() { var testAppPath = LambdaToolsHelper.GetTempTestAppDirectory( @@ -16,22 +19,24 @@ public async Task InitializeAsync() "Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/CustomRuntimeFunctionTest"); var toolPath = await LambdaToolsHelper.InstallLambdaTools(); _tempPaths.AddRange([testAppPath, toolPath] ); - await LambdaToolsHelper.LambdaPackage(toolPath, "net6.0", testAppPath); await LambdaToolsHelper.LambdaPackage(toolPath, "net8.0", testAppPath); - + TestAppPaths[@"CustomRuntimeFunctionTest\bin\Release\net8.0\CustomRuntimeFunctionTest.zip"] = Path.Combine(testAppPath, @"bin\Release\net8.0\CustomRuntimeFunctionTest.zip"); + testAppPath = LambdaToolsHelper.GetTempTestAppDirectory( "../../../../../../..", "Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/CustomRuntimeAspNetCoreMinimalApiTest"); toolPath = await LambdaToolsHelper.InstallLambdaTools(); _tempPaths.AddRange([testAppPath, toolPath] ); - await LambdaToolsHelper.LambdaPackage(toolPath, "net6.0", testAppPath); - + await LambdaToolsHelper.LambdaPackage(toolPath, "net8.0", testAppPath); + TestAppPaths[@"CustomRuntimeAspNetCoreMinimalApiTest\bin\Release\net8.0\CustomRuntimeAspNetCoreMinimalApiTest.zip"] = Path.Combine(testAppPath, @"bin\Release\net8.0\CustomRuntimeAspNetCoreMinimalApiTest.zip"); + testAppPath = LambdaToolsHelper.GetTempTestAppDirectory( "../../../../../../..", "Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest"); toolPath = await LambdaToolsHelper.InstallLambdaTools(); _tempPaths.AddRange([testAppPath, toolPath] ); - await LambdaToolsHelper.LambdaPackage(toolPath, "net6.0", testAppPath); + await LambdaToolsHelper.LambdaPackage(toolPath, "net8.0", testAppPath); + TestAppPaths[@"CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest\bin\Release\net8.0\CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest.zip"] = Path.Combine(testAppPath, @"bin\Release\net8.0\CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest.zip"); } @@ -44,4 +49,4 @@ public Task DisposeAsync() return Task.CompletedTask; } -} \ No newline at end of file +} diff --git a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/Amazon.Lambda.RuntimeSupport.UnitTests.csproj b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/Amazon.Lambda.RuntimeSupport.UnitTests.csproj index 51b2e9fba..cc96b0a0b 100644 --- a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/Amazon.Lambda.RuntimeSupport.UnitTests.csproj +++ b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/Amazon.Lambda.RuntimeSupport.UnitTests.csproj @@ -4,6 +4,8 @@ net8.0 ..\..\..\..\buildtools\public.snk true + + IDE0060 diff --git a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/FileDescriptorLogStreamTests.cs b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/FileDescriptorLogStreamTests.cs index e152a2813..1b461eb5b 100644 --- a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/FileDescriptorLogStreamTests.cs +++ b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/FileDescriptorLogStreamTests.cs @@ -31,7 +31,7 @@ public void MultilineLoggingInSingleLogEntryWithTlvFormat() offsets.Add(offset); counts.Add(count); }); - TextWriter writer = FileDescriptorLogFactory.InitializeWriter(stream); + TextWriter writer = FileDescriptorLogFactory.InitializeWriter(new SystemEnvironmentVariables(), stream); // assert that initializing the stream does not result in UTF-8 preamble log entry Assert.Empty(counts); Assert.Empty(offsets); @@ -79,7 +79,7 @@ public void MaxSizeProducesOneLogFrame() offsets.Add(offset); counts.Add(count); }); - TextWriter writer = FileDescriptorLogFactory.InitializeWriter(stream); + TextWriter writer = FileDescriptorLogFactory.InitializeWriter(new SystemEnvironmentVariables(), stream); // assert that initializing the stream does not result in UTF-8 preamble log entry Assert.Empty(counts); Assert.Empty(offsets); @@ -126,7 +126,7 @@ public void LogEntryAboveMaxSizeProducesMultipleLogFrames() offsets.Add(offset); counts.Add(count); }); - TextWriter writer = FileDescriptorLogFactory.InitializeWriter(stream); + TextWriter writer = FileDescriptorLogFactory.InitializeWriter(new SystemEnvironmentVariables(), stream); // assert that initializing the stream does not result in UTF-8 preamble log entry Assert.Empty(counts); Assert.Empty(offsets); diff --git a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/HandlerTests.cs b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/HandlerTests.cs index 42e0d6957..80f9d13d0 100644 --- a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/HandlerTests.cs +++ b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/HandlerTests.cs @@ -134,7 +134,7 @@ public async Task PositiveHandlerTestsAsync() [Trait("Category", "UserCodeLoader")] public async Task NegativeBootstrapInitTestsAsync() { - var ucl = new UserCodeLoader("NonExistentAssembly::HandlerTest.CustomerType::ZeroInZeroOut", _internalLogger); + var ucl = new UserCodeLoader(new SystemEnvironmentVariables(), "NonExistentAssembly::HandlerTest.CustomerType::ZeroInZeroOut", _internalLogger); var ex = Assert.Throws(() => ucl.Init(NoOpLoggingAction)); Assert.Contains("Could not find the specified handler", ex.Message); @@ -247,7 +247,7 @@ private async Task TestHandlerFailAsync(string handler, string expect var testRuntimeApiClient = new TestRuntimeApiClient(_environmentVariables, _headers); - var userCodeLoader = new UserCodeLoader(handler, _internalLogger); + var userCodeLoader = new UserCodeLoader(new SystemEnvironmentVariables(), handler, _internalLogger); var initializer = new UserCodeInitializer(userCodeLoader, _internalLogger); var handlerWrapper = HandlerWrapper.GetHandlerWrapper(userCodeLoader.Invoke); var bootstrap = new LambdaBootstrap(handlerWrapper, initializer.InitializeAsync) @@ -385,7 +385,7 @@ private async Task ExecHandlerAsync(string handler, string dataIn var testRuntimeApiClient = new TestRuntimeApiClient(_environmentVariables, _headers); - var userCodeLoader = new UserCodeLoader(handler, _internalLogger); + var userCodeLoader = new UserCodeLoader(new SystemEnvironmentVariables(), handler, _internalLogger); var handlerWrapper = HandlerWrapper.GetHandlerWrapper(userCodeLoader.Invoke); var initializer = new UserCodeInitializer(userCodeLoader, _internalLogger); var bootstrap = new LambdaBootstrap(handlerWrapper, initializer.InitializeAsync) diff --git a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/HandlerWrapperTests.cs b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/HandlerWrapperTests.cs index f0660017c..f9da3d211 100644 --- a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/HandlerWrapperTests.cs +++ b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/HandlerWrapperTests.cs @@ -1,4 +1,4 @@ -/* +/* * Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). @@ -87,9 +87,9 @@ static HandlerWrapperTests() tempStream.Read(PocoOutputBytes, 0, PocoOutputBytes.Length); } - private LambdaEnvironment _lambdaEnvironment; - private RuntimeApiHeaders _runtimeApiHeaders; - private Checkpoint _checkpoint; + private readonly LambdaEnvironment _lambdaEnvironment; + private readonly RuntimeApiHeaders _runtimeApiHeaders; + private readonly Checkpoint _checkpoint; public HandlerWrapperTests() { @@ -641,7 +641,7 @@ private async Task TestHandlerWrapper(HandlerWrapper handlerWrapper, byte[] inpu var invocation = new InvocationRequest { InputStream = new MemoryStream(input ?? new byte[0]), - LambdaContext = new LambdaContext(_runtimeApiHeaders, _lambdaEnvironment, new Helpers.SimpleLoggerWriter()) + LambdaContext = new LambdaContext(_runtimeApiHeaders, _lambdaEnvironment, new Helpers.SimpleLoggerWriter(new SystemEnvironmentVariables())) }; var invocationResponse = await handlerWrapper.Handler(invocation); diff --git a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/LambdaBootstrapMultiConcurrencyTests.cs b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/LambdaBootstrapMultiConcurrencyTests.cs new file mode 100644 index 000000000..2bee73286 --- /dev/null +++ b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/LambdaBootstrapMultiConcurrencyTests.cs @@ -0,0 +1,153 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 +using System; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using Amazon.Lambda.Core; +using Amazon.Lambda.RuntimeSupport.UnitTests.TestHelpers; +using Amazon.Lambda.Serialization.Json; +using Xunit; + +namespace Amazon.Lambda.RuntimeSupport.UnitTests +{ + public class LambdaBootstrapMultiConcurrencyTests + { + JsonSerializer _serializer = new JsonSerializer(); + + public LambdaBootstrapMultiConcurrencyTests() + { + + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public async Task ConfirmConcurrentInvocations(bool useAsyncHandler) + { + TestEnvironmentVariables environmentVariables = new TestEnvironmentVariables(); + environmentVariables.SetEnvironmentVariable(Amazon.Lambda.RuntimeSupport.Bootstrap.Constants.ENVIRONMENT_VARIABLE_AWS_LAMBDA_MAX_CONCURRENCY, "2"); + + var testRuntimeApiClient = new TestMultiConcurrencyRuntimeApiClient(environmentVariables, + new TestMultiConcurrencyRuntimeApiClient.InvocationEvent + { + Headers = CreateDefaultHeaders("request1", "trace1"), + FunctionInput = CreateFunctionInput(new SleepTimeEvent(0, 2000)) + }, + new TestMultiConcurrencyRuntimeApiClient.InvocationEvent + { + Headers = CreateDefaultHeaders("request2", "trace2"), + FunctionInput = CreateFunctionInput(new SleepTimeEvent(200, 200)) + } + ); + + var handlerEvents = new List(); + + LambdaBootstrapHandler handler; + if (useAsyncHandler) + { + handler = HandlerWrapper.GetHandlerWrapper(async (SleepTimeEvent sleepTime, ILambdaContext context) => + { + await Task.Delay(sleepTime.StartSleep); + + lock (handlerEvents) + { + handlerEvents.Add($"start-{context.AwsRequestId},traceId-{context.TraceId}"); + } + await Task.Delay(sleepTime.ProcessSleep); + + lock (handlerEvents) + { + handlerEvents.Add($"end-{context.AwsRequestId},traceId-{context.TraceId}"); + } + }, _serializer).Handler; + } + else + { + handler = HandlerWrapper.GetHandlerWrapper((SleepTimeEvent sleepTime, ILambdaContext context) => + { + Thread.Sleep(sleepTime.StartSleep); + + lock (handlerEvents) + { + handlerEvents.Add($"start-{context.AwsRequestId},traceId-{context.TraceId}"); + } + Thread.Sleep(sleepTime.ProcessSleep); + + lock (handlerEvents) + { + handlerEvents.Add($"end-{context.AwsRequestId},traceId-{context.TraceId}"); + } + }, _serializer).Handler; + } + + + var lambdaBootstrap = new LambdaBootstrap( + httpClient: null, + handler: handler, + initializer: null, + ownsHttpClient: true, + environmentVariables: environmentVariables); + lambdaBootstrap.Client = testRuntimeApiClient; + + try + { + CancellationTokenSource cts = new CancellationTokenSource(); + cts.CancelAfter(TimeSpan.FromSeconds(3)); + await lambdaBootstrap.RunAsync(cts.Token); + } + catch (OperationCanceledException) + { + // Expected when the cancellation token is triggered. + } + + Assert.Equal(2, testRuntimeApiClient.ProcessInvocationEvents.Count); + Assert.Empty(testRuntimeApiClient.InvocationEvents); + Assert.Equal(4, handlerEvents.Count); + + Assert.Equal("start-request1,traceId-trace1", handlerEvents[0]); + Assert.Equal("start-request2,traceId-trace2", handlerEvents[1]); + Assert.Equal("end-request2,traceId-trace2", handlerEvents[2]); + Assert.Equal("end-request1,traceId-trace1", handlerEvents[3]); + } + + private Dictionary> CreateDefaultHeaders(string requestId, string traceId) + { + return new Dictionary> + { + { + RuntimeApiHeaders.HeaderAwsRequestId, new List { requestId } + }, + { + RuntimeApiHeaders.HeaderInvokedFunctionArn, new List {"invoked_function_arn"} + }, + { + RuntimeApiHeaders.HeaderTraceId, new List { traceId } + } + }; + } + + private byte[] CreateFunctionInput(object input) + { + using (var ms = new System.IO.MemoryStream()) + { + _serializer.Serialize(input, ms); + return ms.ToArray(); + } + } + + public class SleepTimeEvent + { + public int StartSleep { get; set; } + + public int ProcessSleep { get; set; } + + public SleepTimeEvent(int startSleep, int processSleep) + { + StartSleep = startSleep; + ProcessSleep = processSleep; + } + } + } +} diff --git a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/LambdaBootstrapTests.cs b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/LambdaBootstrapTests.cs index f17705072..e1636ff16 100644 --- a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/LambdaBootstrapTests.cs +++ b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/LambdaBootstrapTests.cs @@ -31,11 +31,11 @@ namespace Amazon.Lambda.RuntimeSupport.UnitTests /// public class LambdaBootstrapTests { - TestHandler _testFunction; - TestInitializer _testInitializer; - TestRuntimeApiClient _testRuntimeApiClient; - TestEnvironmentVariables _environmentVariables; - HandlerWrapper _testWrapper; + readonly TestHandler _testFunction; + readonly TestInitializer _testInitializer; + readonly TestRuntimeApiClient _testRuntimeApiClient; + readonly TestEnvironmentVariables _environmentVariables; + readonly HandlerWrapper _testWrapper; public LambdaBootstrapTests() { @@ -147,7 +147,7 @@ public async Task InitializerReturnsTrueAndHandlerLoopRuns() [Fact] public async Task TraceIdEnvironmentVariableIsSet() { - using (var bootstrap = new LambdaBootstrap(_testFunction.BaseHandlerAsync, null)) + using (var bootstrap = new LambdaBootstrap(_testFunction.BaseHandlerAsync, null, null, _environmentVariables)) { bootstrap.Client = _testRuntimeApiClient; Assert.Null(_environmentVariables.GetEnvironmentVariable(LambdaEnvironment.EnvVarTraceId)); @@ -242,44 +242,46 @@ public void VerifyUserAgentStringSet() [Fact] public void IsCallPreJitTest() { - Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PREJIT, "ProvisionedConcurrency"); - Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_INITIALIZATION_TYPE, + var environmentVariables = new TestEnvironmentVariables(); + + environmentVariables.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PREJIT, "ProvisionedConcurrency"); + environmentVariables.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_INITIALIZATION_TYPE, AWS_LAMBDA_INITIALIZATION_TYPE_PC); - Assert.True(UserCodeInit.IsCallPreJit()); - Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PREJIT, "ProvisionedConcurrency"); - Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_INITIALIZATION_TYPE, + Assert.True(UserCodeInit.IsCallPreJit(environmentVariables)); + environmentVariables.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PREJIT, "ProvisionedConcurrency"); + environmentVariables.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_INITIALIZATION_TYPE, AWS_LAMBDA_INITIALIZATION_TYPE_ON_DEMAND); - Assert.False(UserCodeInit.IsCallPreJit()); + Assert.False(UserCodeInit.IsCallPreJit(environmentVariables)); - Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PREJIT, "ProvisionedConcurrency"); - Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_INITIALIZATION_TYPE, null); - Assert.False(UserCodeInit.IsCallPreJit()); + environmentVariables.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PREJIT, "ProvisionedConcurrency"); + environmentVariables.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_INITIALIZATION_TYPE, null); + Assert.False(UserCodeInit.IsCallPreJit(environmentVariables)); - Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PREJIT, "Always"); - Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_INITIALIZATION_TYPE, null); - Assert.True(UserCodeInit.IsCallPreJit()); + environmentVariables.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PREJIT, "Always"); + environmentVariables.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_INITIALIZATION_TYPE, null); + Assert.True(UserCodeInit.IsCallPreJit(environmentVariables)); - Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PREJIT, "Never"); - Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_INITIALIZATION_TYPE, null); - Assert.False(UserCodeInit.IsCallPreJit()); + environmentVariables.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PREJIT, "Never"); + environmentVariables.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_INITIALIZATION_TYPE, null); + Assert.False(UserCodeInit.IsCallPreJit(environmentVariables)); - Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PREJIT, null); - Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_INITIALIZATION_TYPE, null); - Assert.False(UserCodeInit.IsCallPreJit()); + environmentVariables.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PREJIT, null); + environmentVariables.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_INITIALIZATION_TYPE, null); + Assert.False(UserCodeInit.IsCallPreJit(environmentVariables)); - Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PREJIT, null); - Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_INITIALIZATION_TYPE, AWS_LAMBDA_INITIALIZATION_TYPE_ON_DEMAND); - Assert.False(UserCodeInit.IsCallPreJit()); + environmentVariables.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PREJIT, null); + environmentVariables.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_INITIALIZATION_TYPE, AWS_LAMBDA_INITIALIZATION_TYPE_ON_DEMAND); + Assert.False(UserCodeInit.IsCallPreJit(environmentVariables)); - Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PREJIT, "Never"); - Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_INITIALIZATION_TYPE, null); - Assert.False(UserCodeInit.IsCallPreJit()); + environmentVariables.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PREJIT, "Never"); + environmentVariables.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_INITIALIZATION_TYPE, null); + Assert.False(UserCodeInit.IsCallPreJit(environmentVariables)); - Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PREJIT, null); - Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_INITIALIZATION_TYPE, AWS_LAMBDA_INITIALIZATION_TYPE_PC); - Assert.True(UserCodeInit.IsCallPreJit()); + environmentVariables.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PREJIT, null); + environmentVariables.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_AWS_LAMBDA_INITIALIZATION_TYPE, AWS_LAMBDA_INITIALIZATION_TYPE_PC); + Assert.True(UserCodeInit.IsCallPreJit(environmentVariables)); } } } diff --git a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/LambdaContextTests.cs b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/LambdaContextTests.cs index 58dec0856..d8964b912 100644 --- a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/LambdaContextTests.cs +++ b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/LambdaContextTests.cs @@ -31,7 +31,7 @@ public void RemainingTimeIsPositive() var runtimeApiHeaders = new RuntimeApiHeaders(headers); var lambdaEnvironment = new LambdaEnvironment(_environmentVariables); - var context = new LambdaContext(runtimeApiHeaders, lambdaEnvironment, new Helpers.SimpleLoggerWriter()); + var context = new LambdaContext(runtimeApiHeaders, lambdaEnvironment, new Helpers.SimpleLoggerWriter(new SystemEnvironmentVariables())); Assert.True(context.RemainingTime >= TimeSpan.Zero, $"Remaining time is not a positive value: {context.RemainingTime}"); } @@ -49,7 +49,7 @@ public void RuntimeApiHeadersAddedToContext() var runtimeApiHeaders = new RuntimeApiHeaders(headers); var lambdaEnvironment = new LambdaEnvironment(_environmentVariables); - var context = new LambdaContext(runtimeApiHeaders, lambdaEnvironment, new Helpers.SimpleLoggerWriter()); + var context = new LambdaContext(runtimeApiHeaders, lambdaEnvironment, new Helpers.SimpleLoggerWriter(new SystemEnvironmentVariables())); Assert.Equal("request-generated-id", context.AwsRequestId); Assert.Equal("my-function-arn", context.InvokedFunctionArn); diff --git a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/LambdaEnvironmentTests.cs b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/LambdaEnvironmentTests.cs index 7e5df993c..bd9ca49c2 100644 --- a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/LambdaEnvironmentTests.cs +++ b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/LambdaEnvironmentTests.cs @@ -1,4 +1,4 @@ -/* +/* * Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). @@ -21,7 +21,7 @@ namespace Amazon.Lambda.RuntimeSupport.UnitTests public class LambdaEnvironmentTests { private const string LambdaExecutionEnvironment = "AWS_Lambda_dotnet_custom"; - TestEnvironmentVariables _environmentVariables; + private readonly TestEnvironmentVariables _environmentVariables; public LambdaEnvironmentTests() { @@ -31,18 +31,17 @@ public LambdaEnvironmentTests() [Fact] public void SetsExecutionEnvironmentButNotTwice() { - var expectedValueRegex = new Regex($"{LambdaExecutionEnvironment}_amazonlambdaruntimesupport_[0-9]+\\.[0-9]+\\.[0-9]+"); + var expectedValueRegex = $"{LambdaExecutionEnvironment}_amazonlambdaruntimesupport_[0-9]+\\.[0-9]+\\.[0-9]+"; _environmentVariables.SetEnvironmentVariable(LambdaEnvironment.EnvVarExecutionEnvironment, LambdaExecutionEnvironment); var lambdaEnvironment = new LambdaEnvironment(_environmentVariables); - Assert.True(expectedValueRegex.IsMatch(lambdaEnvironment.ExecutionEnvironment)); - Assert.True(expectedValueRegex.IsMatch(_environmentVariables.GetEnvironmentVariable(LambdaEnvironment.EnvVarExecutionEnvironment))); + Assert.Matches(expectedValueRegex, lambdaEnvironment.ExecutionEnvironment); + Assert.Matches(expectedValueRegex, _environmentVariables.GetEnvironmentVariable(LambdaEnvironment.EnvVarExecutionEnvironment)); // Make sure that creating another LambdaEnvironment instance won't change the value. lambdaEnvironment = new LambdaEnvironment(_environmentVariables); - Assert.True(expectedValueRegex.IsMatch(lambdaEnvironment.ExecutionEnvironment)); - Assert.True(expectedValueRegex.IsMatch(_environmentVariables.GetEnvironmentVariable(LambdaEnvironment.EnvVarExecutionEnvironment))); - + Assert.Matches(expectedValueRegex, lambdaEnvironment.ExecutionEnvironment); + Assert.Matches(expectedValueRegex, _environmentVariables.GetEnvironmentVariable(LambdaEnvironment.EnvVarExecutionEnvironment)); } [Fact] diff --git a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/TestHelpers/PocoInput.cs b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/TestHelpers/PocoInput.cs index 3ac0c0afe..c1297f44e 100644 --- a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/TestHelpers/PocoInput.cs +++ b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/TestHelpers/PocoInput.cs @@ -1,4 +1,4 @@ -/* +/* * Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). @@ -41,7 +41,7 @@ public override int GetHashCode() int hash = hashBase; hash = (hash * hashMultiplier) ^ (!Object.ReferenceEquals(null, InputString) ? InputString.GetHashCode() : 0); - hash = (hash * hashMultiplier) ^ (!Object.ReferenceEquals(null, InputInt) ? InputInt.GetHashCode() : 0); + hash = (hash * hashMultiplier) ^ InputInt.GetHashCode(); return hash; } } diff --git a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/TestHelpers/PocoOutput.cs b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/TestHelpers/PocoOutput.cs index 8d0b26e31..166d190f2 100644 --- a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/TestHelpers/PocoOutput.cs +++ b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/TestHelpers/PocoOutput.cs @@ -1,4 +1,4 @@ -/* +/* * Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). @@ -41,7 +41,7 @@ public override int GetHashCode() int hash = hashBase; hash = (hash * hashMultiplier) ^ (!Object.ReferenceEquals(null, OutputString) ? OutputString.GetHashCode() : 0); - hash = (hash * hashMultiplier) ^ (!Object.ReferenceEquals(null, OutputInt) ? OutputInt.GetHashCode() : 0); + hash = (hash * hashMultiplier) ^ OutputInt.GetHashCode(); return hash; } } diff --git a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/TestHelpers/TestMultiConcurrencyRuntimeApiClient.cs b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/TestHelpers/TestMultiConcurrencyRuntimeApiClient.cs new file mode 100644 index 000000000..f7c85dd15 --- /dev/null +++ b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/TestHelpers/TestMultiConcurrencyRuntimeApiClient.cs @@ -0,0 +1,131 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +using Amazon.Lambda.RuntimeSupport.Helpers; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using Xunit; + +namespace Amazon.Lambda.RuntimeSupport.UnitTests.TestHelpers +{ + internal class TestMultiConcurrencyRuntimeApiClient : IRuntimeApiClient + { + private readonly IEnvironmentVariables _environmentVariables; + + public Queue InvocationEvents { get; } = new Queue(); + public Dictionary ProcessInvocationEvents { get; } = new Dictionary(); + + public TestMultiConcurrencyRuntimeApiClient(IEnvironmentVariables environmentVariables, params InvocationEvent[] invocationEvents) + { + _environmentVariables = environmentVariables; + foreach (var invocationEvent in invocationEvents) + { + InvocationEvents.Enqueue(invocationEvent); + } + + ConsoleLogger = new LogLevelLoggerWriter(environmentVariables); + } + + public IConsoleLoggerWriter ConsoleLogger { get; } + + public class InvocationEvent + { + public Dictionary> Headers { get; init; } + public byte[] FunctionInput { get; init; } + + public Stream OutputStream { get; set; } + + public bool Complete { get; set; } + + public string AwsRequestId + { + get + { + if (Headers != null && + Headers.TryGetValue(RuntimeApiHeaders.HeaderAwsRequestId, out var values)) + { + return values?.FirstOrDefault(); + } + return null; + } + } + } + + public async Task GetNextInvocationAsync(CancellationToken cancellationToken = default) + { + // If InvocationEvents is empty then all of the test events have been processed. + // At this point we just need to wait for the test verification to run and then the + // cancellationToken will be triggered to end delay. + if (InvocationEvents.Count == 0) + { + await Task.Delay(TimeSpan.FromMinutes(10), cancellationToken); + } + + var data = InvocationEvents.Dequeue(); + ProcessInvocationEvents[data.AwsRequestId] = data; + + var inputStream = new MemoryStream(data.FunctionInput == null ? new byte[0] : data.FunctionInput); + inputStream.Position = 0; + + return new InvocationRequest() + { + InputStream = inputStream, + LambdaContext = new LambdaContext( + new RuntimeApiHeaders(data.Headers), + new LambdaEnvironment(_environmentVariables), + new TestDateTimeHelper(), new Helpers.SimpleLoggerWriter(_environmentVariables)) + }; + } + + public Task SendResponseAsync(string awsRequestId, Stream outputStream, CancellationToken cancellationToken = default) + { + var data = ProcessInvocationEvents[awsRequestId]; + data.Complete = true; + if (outputStream != null) + { + // copy the stream because it gets disposed by the bootstrap + data.OutputStream = new MemoryStream((int)outputStream.Length); + outputStream.CopyTo(data.OutputStream); + data.OutputStream.Position = 0; + } + + return Task.Run(() => { }); + } + + + public Task RestoreNextInvocationAsync(CancellationToken cancellationToken = default) + { + return Task.Run(() => { }); + } + + public Task ReportInitializationErrorAsync(Exception exception, String errorType = null, CancellationToken cancellationToken = default) + { + return Task.Run(() => { }); + } + + public Task ReportInitializationErrorAsync(string errorType, CancellationToken cancellationToken = default) + { + return Task.Run(() => { }); + } + + public Task ReportInvocationErrorAsync(string awsRequestId, Exception exception, CancellationToken cancellationToken = default) + { + return Task.Run(() => { }); + } + + public Task ReportInvocationErrorAsync(string awsRequestId, string errorType, CancellationToken cancellationToken = default) + { + return Task.Run(() => { }); + } + + public Task ReportRestoreErrorAsync(Exception exception, String errorType = null, CancellationToken cancellationToken = default) + { + return Task.Run(() => { }); + } + } +} diff --git a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/TestHelpers/TestRuntimeApiClient.cs b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/TestHelpers/TestRuntimeApiClient.cs index ef500e746..50bfa7254 100644 --- a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/TestHelpers/TestRuntimeApiClient.cs +++ b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/TestHelpers/TestRuntimeApiClient.cs @@ -1,4 +1,4 @@ -/* +/* * Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). @@ -26,10 +26,10 @@ namespace Amazon.Lambda.RuntimeSupport.UnitTests { internal class TestRuntimeApiClient : IRuntimeApiClient { - private IEnvironmentVariables _environmentVariables; - private Dictionary> _headers; + readonly private IEnvironmentVariables _environmentVariables; + readonly private Dictionary> _headers; - public IConsoleLoggerWriter ConsoleLogger { get; } = new LogLevelLoggerWriter(); + public IConsoleLoggerWriter ConsoleLogger { get; } = new LogLevelLoggerWriter(new SystemEnvironmentVariables()); public TestRuntimeApiClient(IEnvironmentVariables environmentVariables, Dictionary> headers) { @@ -99,7 +99,7 @@ public Task GetNextInvocationAsync(CancellationToken cancella LambdaContext = new LambdaContext( new RuntimeApiHeaders(_headers), new LambdaEnvironment(_environmentVariables), - new TestDateTimeHelper(), new Helpers.SimpleLoggerWriter()) + new TestDateTimeHelper(), new Helpers.SimpleLoggerWriter(_environmentVariables)) }); } diff --git a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/UtilsTest.cs b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/UtilsTest.cs new file mode 100644 index 000000000..8068920be --- /dev/null +++ b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/UtilsTest.cs @@ -0,0 +1,70 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +using System; +using Amazon.Lambda.RuntimeSupport.Helpers; +using Xunit; +using Amazon.Lambda.RuntimeSupport.Bootstrap; + +namespace Amazon.Lambda.RuntimeSupport.UnitTests; + + +public class UtilsTest +{ + [Theory] + [InlineData("5", true)] + [InlineData("", false)] + [InlineData(null, false)] + public void IsUsingMultiConcurrency(string concurrency, bool isMultiConcurrency) + { + var envVars = new TestEnvironmentVariables(); + + if (concurrency != null) + envVars.SetEnvironmentVariable(Constants.ENVIRONMENT_VARIABLE_AWS_LAMBDA_MAX_CONCURRENCY, concurrency); + + var result = Utils.IsUsingMultiConcurrency(envVars); + + Assert.Equal(isMultiConcurrency, result); + } + + [Theory] + [InlineData(null, 4, 1)] + [InlineData("5", 4, 4)] + [InlineData("5", 1, 2)] + public void DetermineProcessingTaskCount(string concurrency, int processCount, int expected) + { + var envVars = new TestEnvironmentVariables(); + + if (concurrency != null) + envVars.SetEnvironmentVariable(Constants.ENVIRONMENT_VARIABLE_AWS_LAMBDA_MAX_CONCURRENCY, concurrency); + + var result = Utils.DetermineProcessingTaskCount(envVars, processCount); + + Assert.Equal(expected, result); + } + + [Fact] + public void DetermineProcessingTaskCount_WhenOverrideSet_ReturnsOverrideValue() + { + var envVars = new TestEnvironmentVariables(); + envVars.SetEnvironmentVariable(Constants.ENVIRONMENT_VARIABLE_AWS_LAMBDA_MAX_CONCURRENCY, "5"); + envVars.SetEnvironmentVariable(Constants.ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PROCESSING_TASKS, "8"); + + var result = Utils.DetermineProcessingTaskCount(envVars, 4); + + Assert.Equal(8, result); + } + + [Theory] + [InlineData("0")] + [InlineData("-1")] + [InlineData("invalid")] + public void DetermineProcessingTaskCount_ThrowsArgumentException(string processingTasksOverride) + { + var envVars = new TestEnvironmentVariables(); + envVars.SetEnvironmentVariable(Constants.ENVIRONMENT_VARIABLE_AWS_LAMBDA_MAX_CONCURRENCY, "5"); + envVars.SetEnvironmentVariable(Constants.ENVIRONMENT_VARIABLE_AWS_LAMBDA_DOTNET_PROCESSING_TASKS, processingTasksOverride); + + Assert.Throws(() => Utils.DetermineProcessingTaskCount(envVars, 4)); + } +} diff --git a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest/CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest.csproj b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest/CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest.csproj index 500a7cdd8..849e21461 100644 --- a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest/CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest.csproj +++ b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest/CustomRuntimeAspNetCoreMinimalApiCustomSerializerTest.csproj @@ -1,7 +1,7 @@  - net6.0 + net8.0 enable enable bootstrap diff --git a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/CustomRuntimeAspNetCoreMinimalApiTest/CustomRuntimeAspNetCoreMinimalApiTest.csproj b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/CustomRuntimeAspNetCoreMinimalApiTest/CustomRuntimeAspNetCoreMinimalApiTest.csproj index 500a7cdd8..849e21461 100644 --- a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/CustomRuntimeAspNetCoreMinimalApiTest/CustomRuntimeAspNetCoreMinimalApiTest.csproj +++ b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/CustomRuntimeAspNetCoreMinimalApiTest/CustomRuntimeAspNetCoreMinimalApiTest.csproj @@ -1,7 +1,7 @@  - net6.0 + net8.0 enable enable bootstrap diff --git a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/CustomRuntimeFunctionTest/CustomRuntimeFunction.cs b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/CustomRuntimeFunctionTest/CustomRuntimeFunction.cs index 6d9c80f91..955b1b3d8 100644 --- a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/CustomRuntimeFunctionTest/CustomRuntimeFunction.cs +++ b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/CustomRuntimeFunctionTest/CustomRuntimeFunction.cs @@ -22,9 +22,9 @@ class CustomRuntimeFunction private static readonly Lazy SixMBString = new Lazy(() => { return new string('X', 1024 * 1024 * 6); }); private static readonly Lazy SevenMBString = new Lazy(() => { return new string('X', 1024 * 1024 * 7); }); - private static MemoryStream ResponseStream = new MemoryStream(); - private static DefaultLambdaJsonSerializer JsonSerializer = new DefaultLambdaJsonSerializer(); - private static LambdaEnvironment LambdaEnvironment = new LambdaEnvironment(); + private static readonly MemoryStream ResponseStream = new MemoryStream(); + private static readonly DefaultLambdaJsonSerializer JsonSerializer = new DefaultLambdaJsonSerializer(); + private static readonly LambdaEnvironment LambdaEnvironment = new LambdaEnvironment(); private static async Task Main(string[] args) { @@ -69,9 +69,6 @@ private static async Task Main(string[] args) case nameof(CertificateCallbackWorksAsync): bootstrap = new LambdaBootstrap(CertificateCallbackWorksAsync); break; - case nameof(NetworkingProtocolsAsync): - bootstrap = new LambdaBootstrap(NetworkingProtocolsAsync); - break; case nameof(HandlerEnvVarAsync): bootstrap = new LambdaBootstrap(HandlerEnvVarAsync); break; @@ -217,7 +214,7 @@ private static Task UnintendedDisposeTest(InvocationRequest public class WrapTextWriter : TextWriter { - TextWriter _textWriter; + readonly TextWriter _textWriter; public WrapTextWriter(TextWriter textWriter) { _textWriter = textWriter; @@ -302,67 +299,6 @@ private static async Task CertificateCallbackWorksAsync(Invo return GetInvocationResponse(nameof(CertificateCallbackWorksAsync), isSuccess); } - private static Task NetworkingProtocolsAsync(InvocationRequest invocation) - { - var type = typeof(Socket).GetTypeInfo().Assembly.GetType("System.Net.SocketProtocolSupportPal"); - var method = type.GetMethod("IsSupported", BindingFlags.NonPublic | BindingFlags.Static); - var ipv4Supported = method.Invoke(null, new object[] { AddressFamily.InterNetwork }); - var ipv6Supported = method.Invoke(null, new object[] { AddressFamily.InterNetworkV6 }); - - Exception ipv4SocketCreateException = null; - try - { - using (Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)) { } - } - catch (Exception e) - { - ipv4SocketCreateException = e; - } - - Exception ipv6SocketCreateException = null; - try - { - using (Socket s = new Socket(AddressFamily.InterNetworkV6, SocketType.Stream, ProtocolType.Tcp)) { } - } - catch (Exception e) - { - ipv6SocketCreateException = e; - } - - string returnValue = ""; - if (!(bool)ipv4Supported) - { - returnValue += "For System.Net.SocketProtocolSupportPal.IsProtocolSupported(AddressFamily.InterNetwork) Expected true, Actual false" + Environment.NewLine; - } - - if ((bool)ipv6Supported) - { - returnValue += "For System.Net.SocketProtocolSupportPal.IsProtocolSupported(AddressFamily.InterNetworkV6) Expected false, Actual true" + Environment.NewLine; - } - - if (ipv4SocketCreateException != null) - { - returnValue += "Error creating IPV4 Socket: " + ipv4SocketCreateException + Environment.NewLine; - } - - if (ipv6SocketCreateException == null) - { - returnValue += "When creating IPV6 Socket expected exception, got none." + Environment.NewLine; - } - - if (ipv6SocketCreateException != null && ipv6SocketCreateException.Message != "Address family not supported by protocol") - { - returnValue += "When creating IPV6 Socket expected exception 'Address family not supported by protocol', actual '" + ipv6SocketCreateException.Message + "'" + Environment.NewLine; - } - - if (String.IsNullOrEmpty(returnValue)) - { - returnValue = "SUCCESS"; - } - - return Task.FromResult(GetInvocationResponse(nameof(NetworkingProtocolsAsync), returnValue)); - } - private static Task HandlerEnvVarAsync(InvocationRequest invocation) { return Task.FromResult(GetInvocationResponse(nameof(HandlerEnvVarAsync), LambdaEnvironment.Handler)); @@ -459,9 +395,9 @@ private static Task GetTimezoneNameAsync(InvocationRequest i return Task.FromResult(GetInvocationResponse(nameof(GetTimezoneNameAsync), TimeZoneInfo.Local.Id)); } - private static async Task GetTotalAvailableMemoryBytes(InvocationRequest invocation) + private static Task GetTotalAvailableMemoryBytes(InvocationRequest invocation) { - return GetInvocationResponse(nameof(GetTotalAvailableMemoryBytes), GC.GetGCMemoryInfo().TotalAvailableMemoryBytes.ToString()); + return Task.FromResult(GetInvocationResponse(nameof(GetTotalAvailableMemoryBytes), GC.GetGCMemoryInfo().TotalAvailableMemoryBytes.ToString())); } #region Helpers diff --git a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/CustomRuntimeFunctionTest/CustomRuntimeFunctionTest.csproj b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/CustomRuntimeFunctionTest/CustomRuntimeFunctionTest.csproj index 3671a75cc..e38db03d4 100644 --- a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/CustomRuntimeFunctionTest/CustomRuntimeFunctionTest.csproj +++ b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/CustomRuntimeFunctionTest/CustomRuntimeFunctionTest.csproj @@ -3,6 +3,8 @@ Exe net6.0;net8.0 + + IDE0060 From c5f169fb3bf3b74743f3a29a3d126a066ee87589 Mon Sep 17 00:00:00 2001 From: aws-sdk-dotnet-automation Date: Wed, 15 Oct 2025 00:30:21 +0000 Subject: [PATCH 02/11] chore: Daily ASP.NET Core version update in Dockerfiles --- LambdaRuntimeDockerfiles/Images/net10/amd64/Dockerfile | 4 ++-- LambdaRuntimeDockerfiles/Images/net10/arm64/Dockerfile | 4 ++-- LambdaRuntimeDockerfiles/Images/net8/amd64/Dockerfile | 4 ++-- LambdaRuntimeDockerfiles/Images/net8/arm64/Dockerfile | 4 ++-- LambdaRuntimeDockerfiles/Images/net9/amd64/Dockerfile | 4 ++-- LambdaRuntimeDockerfiles/Images/net9/arm64/Dockerfile | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/LambdaRuntimeDockerfiles/Images/net10/amd64/Dockerfile b/LambdaRuntimeDockerfiles/Images/net10/amd64/Dockerfile index 04cdc074e..c0d6423a1 100644 --- a/LambdaRuntimeDockerfiles/Images/net10/amd64/Dockerfile +++ b/LambdaRuntimeDockerfiles/Images/net10/amd64/Dockerfile @@ -1,7 +1,7 @@ # Based on Docker image from: https://github.com/dotnet/dotnet-docker/ -ARG ASPNET_VERSION=10.0.0-rc.1.25451.107 -ARG ASPNET_SHA512=d2219850cab73cebe3625a3e5321c67e2921d3bfefb6c238044a21d8a95ca07ca731507ba7c027a8b03fe8eeba7f23d8d884d34f02437d6a5830423484053d70 +ARG ASPNET_VERSION=10.0.0-rc.2.25502.107 +ARG ASPNET_SHA512=1403bac32f4b4370d667841a3a4cabd11e330eb0a5491894491d3c418c5fd9ce779dd629800947ab1ea018e5a7260fcee77f202e28fa8c1896d7a0177d038c7f ARG LAMBDA_RUNTIME_NAME=dotnet10 ARG AMAZON_LINUX=public.ecr.aws/lambda/provided:al2023 diff --git a/LambdaRuntimeDockerfiles/Images/net10/arm64/Dockerfile b/LambdaRuntimeDockerfiles/Images/net10/arm64/Dockerfile index c0c066c50..d0f243fc5 100644 --- a/LambdaRuntimeDockerfiles/Images/net10/arm64/Dockerfile +++ b/LambdaRuntimeDockerfiles/Images/net10/arm64/Dockerfile @@ -1,7 +1,7 @@ # Based on Docker image from: https://github.com/dotnet/dotnet-docker/ -ARG ASPNET_VERSION=10.0.0-rc.1.25451.107 -ARG ASPNET_SHA512=bd86bac48405084fecb610260e60a1f645de455dfaf208caec9771af160fd1d7bdc99a4a1f88169c1cef7595536d55dc571472ca7a15928271d40ae45fdedefa +ARG ASPNET_VERSION=10.0.0-rc.2.25502.107 +ARG ASPNET_SHA512=e075c17bd5992cf6aab1f8b598645a0976ba41fcfc7414e7f73f25fe9664d9b145d4a61adf50c217418f2495131371af05e8df4da7858c72ac4b13a679107610 ARG LAMBDA_RUNTIME_NAME=dotnet10 ARG AMAZON_LINUX=public.ecr.aws/lambda/provided:al2023 diff --git a/LambdaRuntimeDockerfiles/Images/net8/amd64/Dockerfile b/LambdaRuntimeDockerfiles/Images/net8/amd64/Dockerfile index d1bd8d3e0..4f49aebe0 100644 --- a/LambdaRuntimeDockerfiles/Images/net8/amd64/Dockerfile +++ b/LambdaRuntimeDockerfiles/Images/net8/amd64/Dockerfile @@ -1,7 +1,7 @@ # Based on Docker image from: https://github.com/dotnet/dotnet-docker/ -ARG ASPNET_VERSION=8.0.20 -ARG ASPNET_SHA512=228713f3c3600c49e7924e26dc86115c9674b5308b44514a53f670fa785038aa885ead8cd2c1c1850d1565b689a95a92e97f472d86429930dbfb114aa6020eb7 +ARG ASPNET_VERSION=8.0.21 +ARG ASPNET_SHA512=4aa9458d3de7b4ff960adcc4a655e4d7e4e6570e97791919113b8c9a55883964a60241daf3a70c60494cde1a61155d802339ec03b046466eac67298f0acc7289 ARG LAMBDA_RUNTIME_NAME=dotnet8 ARG AMAZON_LINUX=public.ecr.aws/lambda/provided:al2023 diff --git a/LambdaRuntimeDockerfiles/Images/net8/arm64/Dockerfile b/LambdaRuntimeDockerfiles/Images/net8/arm64/Dockerfile index 122fe3fba..844121644 100644 --- a/LambdaRuntimeDockerfiles/Images/net8/arm64/Dockerfile +++ b/LambdaRuntimeDockerfiles/Images/net8/arm64/Dockerfile @@ -1,7 +1,7 @@ # Based on Docker image from: https://github.com/dotnet/dotnet-docker/ -ARG ASPNET_VERSION=8.0.20 -ARG ASPNET_SHA512=17b01d6309899eea40200fc449cb606df5541c5802b973c21e71d7f5539b72cb35e2daf38bd9e17ec6dccfb23c3c17afdb1e7f05fb13f10701561d2e00b19645 +ARG ASPNET_VERSION=8.0.21 +ARG ASPNET_SHA512=db04b085c4ce1d732e55be57efe771b4be4c6bcf9b5359fbf88993b19026d77e7e108a41ab0c447da100306df8dfde90bc9c206cefb1856f7da6b618b6ceda32 ARG LAMBDA_RUNTIME_NAME=dotnet8 ARG AMAZON_LINUX=public.ecr.aws/lambda/provided:al2023 diff --git a/LambdaRuntimeDockerfiles/Images/net9/amd64/Dockerfile b/LambdaRuntimeDockerfiles/Images/net9/amd64/Dockerfile index 909d72a95..03718f31e 100644 --- a/LambdaRuntimeDockerfiles/Images/net9/amd64/Dockerfile +++ b/LambdaRuntimeDockerfiles/Images/net9/amd64/Dockerfile @@ -1,7 +1,7 @@ # Based on Docker image from: https://github.com/dotnet/dotnet-docker/ -ARG ASPNET_VERSION=9.0.9 -ARG ASPNET_SHA512=7ff1b517c45b2c7720fc1be808842c5b7f644ff9138f221862620e23660db528b5961f791434aa75885c808ecb3bf9d213a33e8ff3eaa477df7d6256d215a6c4 +ARG ASPNET_VERSION=9.0.10 +ARG ASPNET_SHA512=ba1b184f3bc1c7d423186240fa30e4acd0b8392e8c61b7b593b8d12f8accc65dccfcd4120d9b9ec25c3a278df4fbaf324ff2cf1b8d3997a24417eb2abb2d8043 ARG LAMBDA_RUNTIME_NAME=dotnet9 ARG AMAZON_LINUX=public.ecr.aws/lambda/provided:al2023 diff --git a/LambdaRuntimeDockerfiles/Images/net9/arm64/Dockerfile b/LambdaRuntimeDockerfiles/Images/net9/arm64/Dockerfile index 29a8ffcaa..ad3f301dc 100644 --- a/LambdaRuntimeDockerfiles/Images/net9/arm64/Dockerfile +++ b/LambdaRuntimeDockerfiles/Images/net9/arm64/Dockerfile @@ -1,7 +1,7 @@ # Based on Docker image from: https://github.com/dotnet/dotnet-docker/ -ARG ASPNET_VERSION=9.0.9 -ARG ASPNET_SHA512=cd2d24e16edfdbd34287a4ae25e0a517aaf1bbfa0ffd4d3bc7eac63d85dd544d43b12d081aa2419af13ac27fdb524f918ecf2fdfa916039aed66d502318a72ee +ARG ASPNET_VERSION=9.0.10 +ARG ASPNET_SHA512=ef2696a1b8080312e87af8bf1335971a49a0b7d074b0a6276473e58e5460ecb55d1908413d34d3265c6dd5cfc8c1c60ab04fcb509c940b20e61ea5ae49d04926 ARG LAMBDA_RUNTIME_NAME=dotnet9 ARG AMAZON_LINUX=public.ecr.aws/lambda/provided:al2023 From 0f58d48213a6d75a3e9c963a0016d9d56f60daf1 Mon Sep 17 00:00:00 2001 From: Norm Johanson Date: Fri, 31 Oct 2025 17:01:02 -0700 Subject: [PATCH 03/11] Add changes file for multi concurrency feature --- .../8cdca44b-11fc-41ad-aa31-3448cd3309e5.json | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .autover/changes/8cdca44b-11fc-41ad-aa31-3448cd3309e5.json diff --git a/.autover/changes/8cdca44b-11fc-41ad-aa31-3448cd3309e5.json b/.autover/changes/8cdca44b-11fc-41ad-aa31-3448cd3309e5.json new file mode 100644 index 000000000..e4bf3e858 --- /dev/null +++ b/.autover/changes/8cdca44b-11fc-41ad-aa31-3448cd3309e5.json @@ -0,0 +1,18 @@ +{ + "Projects": [ + { + "Name": "Amazon.Lambda.Core", + "Type": "Minor", + "ChangelogMessages": [ + "Add LambdaTraceProvider to make the current trace id globally accessible" + ] + }, + { + "Name": "Amazon.Lambda.RuntimeSupport", + "Type": "Minor", + "ChangelogMessages": [ + "Add support for Lambda multi concurrency mode" + ] + } + ] +} \ No newline at end of file From dc1c661c5c1e0db7837334e6590204fea35dcff8 Mon Sep 17 00:00:00 2001 From: Norm Johanson Date: Wed, 5 Nov 2025 16:02:05 -0800 Subject: [PATCH 04/11] Fix test after internal constant was moved in Amazon.Lambda.Core (#42) --- Libraries/test/Amazon.Lambda.Core.Tests/TraveProviderTests.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Libraries/test/Amazon.Lambda.Core.Tests/TraveProviderTests.cs b/Libraries/test/Amazon.Lambda.Core.Tests/TraveProviderTests.cs index 5c1db8ff0..43ed454ce 100644 --- a/Libraries/test/Amazon.Lambda.Core.Tests/TraveProviderTests.cs +++ b/Libraries/test/Amazon.Lambda.Core.Tests/TraveProviderTests.cs @@ -24,7 +24,7 @@ public void SetTraceIdNoMultiConcurrency() [Fact] public async Task SetTraceIdWithMultiConcurrency() { - Environment.SetEnvironmentVariable(LambdaTraceProvider.ENV_VAR_AWS_LAMBDA_MAX_CONCURRENCY, "2"); + Environment.SetEnvironmentVariable(Constants.ENV_VAR_AWS_LAMBDA_MAX_CONCURRENCY, "2"); try { var successCount = 0; @@ -48,7 +48,7 @@ public async Task SetTraceIdWithMultiConcurrency() } finally { - Environment.SetEnvironmentVariable(LambdaTraceProvider.ENV_VAR_AWS_LAMBDA_MAX_CONCURRENCY, null); + Environment.SetEnvironmentVariable(Constants.ENV_VAR_AWS_LAMBDA_MAX_CONCURRENCY, null); } } } From c72b1afb04380cb4a8286edc90c553c6b21052f2 Mon Sep 17 00:00:00 2001 From: aws-sdk-dotnet-automation <43080735+aws-sdk-dotnet-automation@users.noreply.github.com> Date: Wed, 5 Nov 2025 19:35:23 -0500 Subject: [PATCH 05/11] Release 2025-11-06 (#43) --- .../1916e292-d131-4c9a-8036-0d7b68f0ce7a.json | 11 ----------- .../8cdca44b-11fc-41ad-aa31-3448cd3309e5.json | 18 ------------------ .../b0df0353-6e47-4548-94a7-45b42f67b910.json | 11 ----------- CHANGELOG.md | 11 +++++++++++ .../Amazon.Lambda.APIGatewayEvents.csproj | 6 +++--- .../Amazon.Lambda.CognitoEvents.csproj | 4 ++-- .../Amazon.Lambda.Core.csproj | 2 +- .../Amazon.Lambda.RuntimeSupport.csproj | 2 +- 8 files changed, 18 insertions(+), 47 deletions(-) delete mode 100644 .autover/changes/1916e292-d131-4c9a-8036-0d7b68f0ce7a.json delete mode 100644 .autover/changes/8cdca44b-11fc-41ad-aa31-3448cd3309e5.json delete mode 100644 .autover/changes/b0df0353-6e47-4548-94a7-45b42f67b910.json diff --git a/.autover/changes/1916e292-d131-4c9a-8036-0d7b68f0ce7a.json b/.autover/changes/1916e292-d131-4c9a-8036-0d7b68f0ce7a.json deleted file mode 100644 index 5cd1858c2..000000000 --- a/.autover/changes/1916e292-d131-4c9a-8036-0d7b68f0ce7a.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "Projects": [ - { - "Name": "Amazon.Lambda.CognitoEvents", - "Type": "Patch", - "ChangelogMessages": [ - "[Breaking Change] Fix issue around not handling null value during deserialization for `ForceAliasCreation` by making it nullable." - ] - } - ] -} \ No newline at end of file diff --git a/.autover/changes/8cdca44b-11fc-41ad-aa31-3448cd3309e5.json b/.autover/changes/8cdca44b-11fc-41ad-aa31-3448cd3309e5.json deleted file mode 100644 index e4bf3e858..000000000 --- a/.autover/changes/8cdca44b-11fc-41ad-aa31-3448cd3309e5.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "Projects": [ - { - "Name": "Amazon.Lambda.Core", - "Type": "Minor", - "ChangelogMessages": [ - "Add LambdaTraceProvider to make the current trace id globally accessible" - ] - }, - { - "Name": "Amazon.Lambda.RuntimeSupport", - "Type": "Minor", - "ChangelogMessages": [ - "Add support for Lambda multi concurrency mode" - ] - } - ] -} \ No newline at end of file diff --git a/.autover/changes/b0df0353-6e47-4548-94a7-45b42f67b910.json b/.autover/changes/b0df0353-6e47-4548-94a7-45b42f67b910.json deleted file mode 100644 index 147f21333..000000000 --- a/.autover/changes/b0df0353-6e47-4548-94a7-45b42f67b910.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "Projects": [ - { - "Name": "Amazon.Lambda.APIGatewayEvents", - "Type": "Patch", - "ChangelogMessages": [ - "Added NotResource field to APIGatewayCustomAuthorizerPolicy.IAMPolicyStatement" - ] - } - ] -} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 3bd65db42..7b9038d10 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +## Release 2025-11-06 + +### Amazon.Lambda.CognitoEvents (4.0.1) +* [Breaking Change] Fix issue around not handling null value during deserialization for `ForceAliasCreation` by making it nullable. +### Amazon.Lambda.Core (2.8.0) +* Add LambdaTraceProvider to make the current trace id globally accessible +### Amazon.Lambda.RuntimeSupport (1.14.0) +* Add support for Lambda multi concurrency mode +### Amazon.Lambda.APIGatewayEvents (2.7.2) +* Added NotResource field to APIGatewayCustomAuthorizerPolicy.IAMPolicyStatement + ## Release 2025-09-17 ### Amazon.Lambda.RuntimeSupport (1.13.4) diff --git a/Libraries/src/Amazon.Lambda.APIGatewayEvents/Amazon.Lambda.APIGatewayEvents.csproj b/Libraries/src/Amazon.Lambda.APIGatewayEvents/Amazon.Lambda.APIGatewayEvents.csproj index 1607d10d7..b7c2d1739 100644 --- a/Libraries/src/Amazon.Lambda.APIGatewayEvents/Amazon.Lambda.APIGatewayEvents.csproj +++ b/Libraries/src/Amazon.Lambda.APIGatewayEvents/Amazon.Lambda.APIGatewayEvents.csproj @@ -1,4 +1,4 @@ - + @@ -6,7 +6,7 @@ netstandard2.0;netcoreapp3.1;net8.0 Amazon Lambda .NET Core support - API Gateway package. Amazon.Lambda.APIGatewayEvents - 2.7.1 + 2.7.2 Amazon.Lambda.APIGatewayEvents Amazon.Lambda.APIGatewayEvents AWS;Amazon;Lambda @@ -25,7 +25,7 @@ - + diff --git a/Libraries/src/Amazon.Lambda.CognitoEvents/Amazon.Lambda.CognitoEvents.csproj b/Libraries/src/Amazon.Lambda.CognitoEvents/Amazon.Lambda.CognitoEvents.csproj index 2eed29543..f8c17ffe9 100644 --- a/Libraries/src/Amazon.Lambda.CognitoEvents/Amazon.Lambda.CognitoEvents.csproj +++ b/Libraries/src/Amazon.Lambda.CognitoEvents/Amazon.Lambda.CognitoEvents.csproj @@ -1,4 +1,4 @@ - + @@ -6,7 +6,7 @@ Amazon Lambda .NET Core support - CognitoEvents package. netstandard2.0;netcoreapp3.1;net8.0 Amazon.Lambda.CognitoEvents - 4.0.0 + 4.0.1 Amazon.Lambda.CognitoEvents Amazon.Lambda.CognitoEvents AWS;Amazon;Lambda diff --git a/Libraries/src/Amazon.Lambda.Core/Amazon.Lambda.Core.csproj b/Libraries/src/Amazon.Lambda.Core/Amazon.Lambda.Core.csproj index df431d052..7627b7992 100644 --- a/Libraries/src/Amazon.Lambda.Core/Amazon.Lambda.Core.csproj +++ b/Libraries/src/Amazon.Lambda.Core/Amazon.Lambda.Core.csproj @@ -6,7 +6,7 @@ netstandard2.0;net6.0;net8.0 Amazon Lambda .NET Core support - Core package. Amazon.Lambda.Core - 2.7.1 + 2.8.0 Amazon.Lambda.Core Amazon.Lambda.Core AWS;Amazon;Lambda diff --git a/Libraries/src/Amazon.Lambda.RuntimeSupport/Amazon.Lambda.RuntimeSupport.csproj b/Libraries/src/Amazon.Lambda.RuntimeSupport/Amazon.Lambda.RuntimeSupport.csproj index 37c8ddf27..d90b73cb3 100644 --- a/Libraries/src/Amazon.Lambda.RuntimeSupport/Amazon.Lambda.RuntimeSupport.csproj +++ b/Libraries/src/Amazon.Lambda.RuntimeSupport/Amazon.Lambda.RuntimeSupport.csproj @@ -4,7 +4,7 @@ netstandard2.0;net6.0;net8.0;net9.0;net10.0 - 1.13.4 + 1.14.0 Provides a bootstrap and Lambda Runtime API Client to help you to develop custom .NET Core Lambda Runtimes. Amazon.Lambda.RuntimeSupport Amazon.Lambda.RuntimeSupport From d197b42e54ce5b983b6a9bd6ad2e0290262fa7d8 Mon Sep 17 00:00:00 2001 From: Phil Asmar Date: Thu, 6 Nov 2025 12:40:24 -0500 Subject: [PATCH 06/11] chore: clean up unused container infra --- .../Infrastructure/Infrastructure.sln | 37 -- .../Infrastructure/README.md | 41 -- .../Infrastructure/Common/manifest_push.psm1 | 31 -- .../src/Infrastructure/Configuration.cs | 103 ---- .../src/Infrastructure/DockerBuild/build.ps1 | 73 --- .../Infrastructure/DockerBuild/buildspec.yml | 24 - .../DockerImageManifest/build.ps1 | 45 -- .../DockerImageManifest/buildspec.yml | 15 - .../src/Infrastructure/DockerPush/build.ps1 | 99 ---- .../Infrastructure/DockerPush/buildspec.yml | 16 - .../src/Infrastructure/GlobalSuppressions.cs | 16 - .../src/Infrastructure/Infrastructure.csproj | 19 - .../src/Infrastructure/PipelineStack.cs | 506 ------------------ .../src/Infrastructure/PipelinesStage.cs | 64 --- .../src/Infrastructure/Program.cs | 44 -- .../SelfMutatingPipelineStack.cs | 129 ----- .../src/Infrastructure/SmokeTests/build.ps1 | 25 - .../Infrastructure/SmokeTests/buildspec.yml | 24 - .../SmokeTests/SmokeTests.sln | 39 -- .../SmokeTests/src/AWSSDK.Core.dll | Bin 918632 -> 0 bytes .../SmokeTests/src/AWSSDK.ECR.dll | Bin 300648 -> 0 bytes .../src/AWSSDK.IdentityManagement.dll | Bin 686184 -> 0 bytes .../SmokeTests/src/AWSSDK.Lambda.dll | Bin 441448 -> 0 bytes .../ImageFunction.SmokeTests.csproj | 29 - .../ImageFunctionTests.cs | 324 ----------- .../WaitUntilHelper.cs | 42 -- .../test/ImageFunction.SmokeTests/build.ps1 | 95 ---- .../SmokeTests/test/ImageFunction/Dockerfile | 22 - .../SmokeTests/test/ImageFunction/Function.cs | 163 ------ .../test/ImageFunction/ImageFunction.csproj | 19 - bootstrap.ps1 | 65 --- cdk.json | 23 - 32 files changed, 2132 deletions(-) delete mode 100644 LambdaRuntimeDockerfiles/Infrastructure/Infrastructure.sln delete mode 100644 LambdaRuntimeDockerfiles/Infrastructure/README.md delete mode 100644 LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/Common/manifest_push.psm1 delete mode 100644 LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/Configuration.cs delete mode 100644 LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerBuild/build.ps1 delete mode 100644 LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerBuild/buildspec.yml delete mode 100644 LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerImageManifest/build.ps1 delete mode 100644 LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerImageManifest/buildspec.yml delete mode 100644 LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerPush/build.ps1 delete mode 100644 LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerPush/buildspec.yml delete mode 100644 LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/GlobalSuppressions.cs delete mode 100644 LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/Infrastructure.csproj delete mode 100644 LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/PipelineStack.cs delete mode 100644 LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/PipelinesStage.cs delete mode 100644 LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/Program.cs delete mode 100644 LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/SelfMutatingPipelineStack.cs delete mode 100644 LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/SmokeTests/build.ps1 delete mode 100644 LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/SmokeTests/buildspec.yml delete mode 100644 LambdaRuntimeDockerfiles/SmokeTests/SmokeTests.sln delete mode 100755 LambdaRuntimeDockerfiles/SmokeTests/src/AWSSDK.Core.dll delete mode 100755 LambdaRuntimeDockerfiles/SmokeTests/src/AWSSDK.ECR.dll delete mode 100755 LambdaRuntimeDockerfiles/SmokeTests/src/AWSSDK.IdentityManagement.dll delete mode 100755 LambdaRuntimeDockerfiles/SmokeTests/src/AWSSDK.Lambda.dll delete mode 100644 LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction.SmokeTests/ImageFunction.SmokeTests.csproj delete mode 100644 LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction.SmokeTests/ImageFunctionTests.cs delete mode 100644 LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction.SmokeTests/WaitUntilHelper.cs delete mode 100644 LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction.SmokeTests/build.ps1 delete mode 100644 LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction/Dockerfile delete mode 100644 LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction/Function.cs delete mode 100644 LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction/ImageFunction.csproj delete mode 100644 bootstrap.ps1 delete mode 100644 cdk.json diff --git a/LambdaRuntimeDockerfiles/Infrastructure/Infrastructure.sln b/LambdaRuntimeDockerfiles/Infrastructure/Infrastructure.sln deleted file mode 100644 index 020a42e1d..000000000 --- a/LambdaRuntimeDockerfiles/Infrastructure/Infrastructure.sln +++ /dev/null @@ -1,37 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.30711.63 -MinimumVisualStudioVersion = 15.0.26124.0 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{85BC34C2-2C30-40EB-9AA2-2B42988B40C8}" - ProjectSection(SolutionItems) = preProject - cdk.json = cdk.json - README.md = README.md - bootstrap.ps1 = bootstrap.ps1 - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{DFAD9A3B-0EB2-46E0-8BF6-85850DA60AA8}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Infrastructure", "src\Infrastructure\Infrastructure.csproj", "{B9A511E5-C78B-4476-A50D-BEF6C3FE97DD}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {B9A511E5-C78B-4476-A50D-BEF6C3FE97DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B9A511E5-C78B-4476-A50D-BEF6C3FE97DD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B9A511E5-C78B-4476-A50D-BEF6C3FE97DD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B9A511E5-C78B-4476-A50D-BEF6C3FE97DD}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {B9A511E5-C78B-4476-A50D-BEF6C3FE97DD} = {DFAD9A3B-0EB2-46E0-8BF6-85850DA60AA8} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {EB7F9BE1-0375-4D29-A169-6C0354675255} - EndGlobalSection -EndGlobal diff --git a/LambdaRuntimeDockerfiles/Infrastructure/README.md b/LambdaRuntimeDockerfiles/Infrastructure/README.md deleted file mode 100644 index 533b3e873..000000000 --- a/LambdaRuntimeDockerfiles/Infrastructure/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# Infrastructure for .NET Lambda Runtime Dockerfiles - -Infrastructure project allows to create pipeline to build and push .NET Lambda Runtime Dockerfiles using CDK framework. - -## Getting started -### Prerequisites -1. [AWS CLI](https://aws.amazon.com/cli/) -2. [AWS Account and User](https://portal.aws.amazon.com/billing/signup) -3. [Node.js](https://nodejs.org/) -4. [AWS CDK Toolkit](https://www.npmjs.com/package/aws-cdk) -5. [.NET 8 SDK or above](https://dotnet.microsoft.com/download) - -### Bootstrap - -`bootstrap.ps1` provisions resources the AWS CDK needs to perform the deployment and deploys generated CloudFormation template. - -```powershell -.\bootstrap.ps1 ` --PipelineAccountId "AccountId" ` --Region "AwsRegion" ` --GitHubTokenSecretName "SecretName" ` --GitHubTokenSecretKey "Key" ` --GitHubRepoOwner "GitHubOwner" ` --GitHubRepoName "GitHubRepo" ` --GitHubRepoBranch "GitHubBranch" ` --StageEcr "AccountId.dkr.ecr.us-west-2.amazonaws.com" ` --BetaEcrs "AccountId.dkr.ecr.us-west-2.amazonaws.com;AccountId.dkr.ecr.us-west-2.amazonaws.com" ` --ProdEcrs "AccountId.dkr.ecr.us-west-2.amazonaws.com;AccountId.dkr.ecr.us-west-2.amazonaws.com" -``` - -#### Notes - - AWS Profiles used to execute `bootstrap.ps1` must have administrator access. - - All resources used to bootstrap the pipeline must already exist. - - `AccountId` is AWS AccountId used for deploying CDK App. - -## Useful commands -* `npx cdk bootstrap --cloudformation-execution-policies arn:aws:iam::aws:policy/AdministratorAccess` bootstrap this app -* `dotnet build` compile this app -* `cdk deploy` deploy this stack to your default AWS account/region -* `cdk diff` compare deployed stack with current state -* `cdk synth` emits the synthesized CloudFormation template diff --git a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/Common/manifest_push.psm1 b/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/Common/manifest_push.psm1 deleted file mode 100644 index 2ebef1d75..000000000 --- a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/Common/manifest_push.psm1 +++ /dev/null @@ -1,31 +0,0 @@ -function Push-MultiArchImageManifest($ManifestList, $Amd64Manifest, $Arm64Manifest) -{ - if ($Arm64Manifest) - { - docker manifest create $ManifestList $Amd64Manifest $Arm64Manifest --amend - if (!$?) - { - throw "Failed to create $ManifestList manifestlist with $Amd64Manifest $Arm64Manifest manifests" - } - } - else - { - docker manifest create $ManifestList $Amd64Manifest --amend - if (!$?) - { - throw "Failed to create $ManifestList manifestlist with $Amd64Manifest manifest" - } - } - - docker manifest push $ManifestList - if (!$?) - { - throw "Failed to push $ManifestList manifestlist" - } - - docker manifest inspect $ManifestList - if (!$?) - { - throw "Failed to inspect $ManifestList manifestlist" - } -} diff --git a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/Configuration.cs b/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/Configuration.cs deleted file mode 100644 index 4b38578e7..000000000 --- a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/Configuration.cs +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -using System; -using System.Collections.Generic; - -namespace Infrastructure; - -internal class Configuration -{ - public string AccountId { get; } = Environment.GetEnvironmentVariable("AWS_LAMBDA_PIPELINE_ACCOUNT_ID"); - public string Region { get; } = Environment.GetEnvironmentVariable("AWS_LAMBDA_PIPELINE_REGION"); - - public string GitHubTokenSecretName { get; } = Environment.GetEnvironmentVariable("AWS_LAMBDA_GITHUB_TOKEN_SECRET_NAME"); - - public string GitHubTokenSecretKey { get; } = Environment.GetEnvironmentVariable("AWS_LAMBDA_GITHUB_TOKEN_SECRET_KEY"); - public string GitHubOwner { get; } = Environment.GetEnvironmentVariable("AWS_LAMBDA_GITHUB_REPO_OWNER"); - public string GitHubRepository { get; } = Environment.GetEnvironmentVariable("AWS_LAMBDA_GITHUB_REPO_NAME"); - public string GitHubBranch { get; } = Environment.GetEnvironmentVariable("AWS_LAMBDA_GITHUB_REPO_BRANCH"); - - public string GitHubOwnerStaging { get; } = Environment.GetEnvironmentVariable("AWS_LAMBDA_GITHUB_REPO_OWNER_STAGING"); - public string GitHubRepositoryStaging { get; } = Environment.GetEnvironmentVariable("AWS_LAMBDA_GITHUB_REPO_NAME_STAGING"); - public string GitHubBranchStaging { get; } = Environment.GetEnvironmentVariable("AWS_LAMBDA_GITHUB_REPO_BRANCH_STAGING"); - - public Ecrs Ecrs { get; } = new Ecrs(); - public const string ProjectRoot = "LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure"; - public string ProjectName { get; } = "aws-lambda-container-images"; - - public readonly FrameworkConfiguration[] Frameworks = new[] - { - new FrameworkConfiguration - { - Framework = "net8", - Channel = "8.0", - EcrRepositoryName = "awslambda/dotnet8-runtime", - DockerBuildImage = "8.0-bookworm-slim", - BaseImageAmd64Tag = "contributed-base-image-x86_64", - BaseImageArm64Tag = "contributed-base-image-arm64", - HasArm64Image = true - }, - new FrameworkConfiguration - { - Framework = "net9", - Channel = "9.0", - EcrRepositoryName = "awslambda/dotnet9-runtime", - DockerBuildImage = "9.0-bookworm-slim", - BaseImageAmd64Tag = "contributed-base-image-x86_64", - BaseImageArm64Tag = "contributed-base-image-arm64", - HasArm64Image = true - }, - new FrameworkConfiguration - { - Framework = "net10", - Channel = "10.0", - EcrRepositoryName = "awslambda/dotnet10-runtime", - DockerBuildImage = "10.0-preview-trixie-slim", - BaseImageAmd64Tag = "contributed-base-image-x86_64", - BaseImageArm64Tag = "contributed-base-image-arm64", - HasArm64Image = true - } - }; -} - -internal class Ecrs -{ - public string Stage { get; } = Environment.GetEnvironmentVariable("AWS_LAMBDA_STAGE_ECR"); - public string Beta { get; } = Environment.GetEnvironmentVariable("AWS_LAMBDA_BETA_ECRS"); - public string Prod { get; } = Environment.GetEnvironmentVariable("AWS_LAMBDA_PROD_ECRS"); -} - -internal class FrameworkConfiguration -{ - public string Framework { get; set; } - - public string Channel { get; set; } - - public string EcrRepositoryName { get; set; } - - public string DockerBuildImage { get; set; } - - public string BaseImageAmd64Tag { get; set; } - - public string BaseImageArm64Tag { get; set; } - - public bool HasArm64Image { get; set; } - - // DotnetSdkVersions is used to specify a specific version of the .NET SDK to be installed on the CodeBuild image - // The default behavior is to specify a channel and that installs the latest version in that channel - // By specifying a specific .NET SDK version, you override the default channel behavior - public string SpecificSdkVersion { get; set; } = string.Empty; -} diff --git a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerBuild/build.ps1 b/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerBuild/build.ps1 deleted file mode 100644 index 104a6b378..000000000 --- a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerBuild/build.ps1 +++ /dev/null @@ -1,73 +0,0 @@ -param ( - [Parameter(HelpMessage = "ECR to push built image.")] - [string] $StageEcr, - - [Parameter(HelpMessage = "ECR repository name to push final image.")] - [string] $EcrRepositoryName, - - [Parameter(HelpMessage = "Final image tag to push.")] - [string] $ImageTag, - - [Parameter(HelpMessage = "Image architecture")] - [string] $Architecture, - - [Parameter(HelpMessage = ".NET version")] - [string] $Framework -) - -# Change the ErrorActionPreference to 'Stop' to allow aborting script on error -$ErrorActionPreference = 'Stop' - -# Login in the stage ECR -$StageRegion = $StageEcr.Split(".")[3] -aws ecr get-login-password --region $StageRegion | docker login --username AWS --password-stdin $StageEcr -if (!$?) -{ - throw "Failed to login in ${StageEcr}" -} - -$SourceNameTagPair = "aws-lambda-${Framework}:latest" - -# Check if the repository exists -aws ecr describe-repositories --repository-names $EcrRepositoryName --region $StageRegion -if (!$?) { - Write-Output "Repository '$EcrRepositoryName' does not exist. Creating it..." - aws ecr create-repository --repository-name $EcrRepositoryName --region $StageRegion -} -else { - Write-Output "Repository '$EcrRepositoryName' exists." -} - -# Build runtime docker image -try -{ - # runtime docker image need to be built from the root of the reposiotory - # so it can include the Amazon.Lambda.RuntimeSupport project in its Docker Build Context - Push-Location $PSScriptRoot\..\..\..\..\.. - docker build -f (Join-Path $PWD '.\LambdaRuntimeDockerfiles\Images' $Framework $Architecture 'Dockerfile') -t $SourceNameTagPair . -} -finally -{ - Pop-Location -} - -# Push built image -$DestinationUris = @( - "$StageEcr/${EcrRepositoryName}:latest", - "$StageEcr/${EcrRepositoryName}:${ImageTag}" -) - -foreach ($DestinationUri in $DestinationUris) -{ - docker tag $SourceNameTagPair $DestinationUri - if (!$?) - { - throw "Failed to tag. SourceTag: ${SourceNameTagPair}, TargetTag: ${DestinationUri}" - } - - docker push $DestinationUri - if (!$?) - { - throw "Failed to push at ${DestinationUri}" - } -} \ No newline at end of file diff --git a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerBuild/buildspec.yml b/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerBuild/buildspec.yml deleted file mode 100644 index cb734f7bb..000000000 --- a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerBuild/buildspec.yml +++ /dev/null @@ -1,24 +0,0 @@ -version: 0.2 -phases: - pre_build: - commands: - # Find and delete the global.json files that were added by CodeBuild. This causes issues when multiple SDKs are installed. - - find / -type f -name 'global.json' -delete - - | - if [ "$AWS_LAMBDA_DOTNET_SDK_VERSION" = "" ]; then - curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel $AWS_LAMBDA_DOTNET_FRAMEWORK_CHANNEL - else - curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --version $AWS_LAMBDA_DOTNET_SDK_VERSION - fi - - export PATH="$PATH:$HOME/.dotnet" - - export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 - - rm -rf /usr/bin/pwsh - - dotnet tool install --global PowerShell --version $AWS_LAMBDA_POWERSHELL_VERSION - build: - commands: - - pwsh LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerBuild/build.ps1 - -StageEcr $AWS_LAMBDA_STAGE_ECR - -EcrRepositoryName $AWS_LAMBDA_ECR_REPOSITORY_NAME - -ImageTag $AWS_LAMBDA_IMAGE_TAG - -Architecture $AWS_LAMBDA_ARCHITECTURE - -Framework $AWS_LAMBDA_DOTNET_FRAMEWORK_VERSION diff --git a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerImageManifest/build.ps1 b/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerImageManifest/build.ps1 deleted file mode 100644 index 63cc71be6..000000000 --- a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerImageManifest/build.ps1 +++ /dev/null @@ -1,45 +0,0 @@ -param ( - [Parameter(HelpMessage = "ECR to push built image.")] - [string] $StageEcr, - - [Parameter(HelpMessage = "ECR repository name to push final image.")] - [string] $EcrRepositoryName, - - [Parameter(HelpMessage = "Final image tag to push.")] - [string] $MultiArchImageTag, - - [Parameter(HelpMessage = "Image architectures")] - [string] $Arm64ImageTag, - - [Parameter(HelpMessage = "Image architectures")] - [string] $Amd64ImageTag, - - [Parameter(HelpMessage = "Indicates whether to include an Arm64 image in the manifest")] - [string] $IncludeArm64 -) - -Import-Module $PSScriptRoot/../Common/manifest_push.psm1 - -# Change the ErrorActionPreference to 'Stop' to allow aborting script on error -$ErrorActionPreference = 'Stop' - -# Login in the source ECR -$StageRegion = $StageEcr.Split(".")[3] -aws ecr get-login-password --region $StageRegion | docker login --username AWS --password-stdin $StageEcr -if (!$?) -{ - throw "Failed to login in ${StageEcr}" -} - -# Push multi arch to stage ECR -$ManifestList = "${StageEcr}/${EcrRepositoryName}:${MultiArchImageTag}" -$Amd64Uri = "${StageEcr}/${EcrRepositoryName}:${Amd64ImageTag}" -$Arm64Uri = "${StageEcr}/${EcrRepositoryName}:${Arm64ImageTag}" -if ($IncludeArm64 -eq "True") -{ - Push-MultiArchImageManifest -ManifestList $ManifestList -Amd64Manifest $Amd64Uri -Arm64Manifest $Arm64Uri -} -else -{ - Push-MultiArchImageManifest -ManifestList $ManifestList -Amd64Manifest $Amd64Uri -} \ No newline at end of file diff --git a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerImageManifest/buildspec.yml b/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerImageManifest/buildspec.yml deleted file mode 100644 index c1b3fc5f7..000000000 --- a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerImageManifest/buildspec.yml +++ /dev/null @@ -1,15 +0,0 @@ -version: 0.2 -# Based on the Docker documentation, must include the DOCKER_CLI_EXPERIMENTAL environment variable -# https://docs.docker.com/engine/reference/commandline/manifest/ - -phases: - build: - commands: - - export DOCKER_CLI_EXPERIMENTAL=enabled - - pwsh LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerImageManifest/build.ps1 - -StageEcr $AWS_LAMBDA_STAGE_ECR - -EcrRepositoryName $AWS_LAMBDA_ECR_REPOSITORY_NAME - -MultiArchImageTag $AWS_LAMBDA_MULTI_ARCH_IMAGE_TAG - -Arm64ImageTag $AWS_LAMBDA_ARM64_IMAGE_TAG - -Amd64ImageTag $AWS_LAMBDA_AMD64_IMAGE_TAG - -IncludeArm64 $AWS_LAMBDA_INCLUDE_ARM64 diff --git a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerPush/build.ps1 b/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerPush/build.ps1 deleted file mode 100644 index 46c8aeb9c..000000000 --- a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerPush/build.ps1 +++ /dev/null @@ -1,99 +0,0 @@ -param ( - [Parameter(HelpMessage = "Source ECR containing source docker image.")] - [string] $SourceEcr, - - [Parameter(HelpMessage = "Tag of the source image.")] - [string] $Amd64ImageTag, - - [Parameter(HelpMessage = "Tag of the source image.")] - [string] $Arm64ImageTag, - - [Parameter(HelpMessage = "Semicolon separated list of destincation ECR to push source image.")] - [string] $DestinationEcrs, - - [Parameter(HelpMessage = "Tag of the destination image.")] - [string] $MultiArchImageTag, - - [Parameter(HelpMessage = "ECR repository name for both source and destination ECRs.")] - [string] $EcrRepositoryName, - - [Parameter(HelpMessage = "Indicates whether to include an Arm64 image in the manifest")] - [string] $IncludeArm64 -) - -Import-Module $PSScriptRoot/../Common/manifest_push.psm1 - -# Change the ErrorActionPreference to 'Stop' to allow aborting script on error -$ErrorActionPreference = 'Stop' - -# Login in the source ECR -$SourceRegion = $SourceEcr.Split(".")[3] -aws ecr get-login-password --region $SourceRegion | docker login --username AWS --password-stdin $SourceEcr -if (!$?) -{ - throw "Failed to login in ${SourceEcr}" -} - -# Pull image from source ECR -$SourceAmd64Uri = "${SourceEcr}/${EcrRepositoryName}:${Amd64ImageTag}" -docker pull $SourceAmd64Uri - -if ($IncludeArm64 -eq "True") -{ - $SourceArm64Uri = "${SourceEcr}/${EcrRepositoryName}:${Arm64ImageTag}" - docker pull $SourceArm64Uri -} - -# Push pulled image to desination ECRs -foreach ($DestinationEcr in $DestinationEcrs.Split(";")) -{ - # Login in the source ECR - $DestinationRegion = $DestinationEcr.Split(".")[3] - aws ecr get-login-password --region $DestinationRegion | docker login --username AWS --password-stdin $DestinationEcr - if (!$?) - { - throw "Failed to login in ${DestinationEcr}" - } - - # Tag and push Amd64 image to destination ECR - $Amd64Uri = "${DestinationEcr}/${EcrRepositoryName}:${Amd64ImageTag}" - docker tag $SourceAmd64Uri $Amd64Uri - if (!$?) - { - throw "Failed to tag. SourceTag: ${SourceAmd64Uri}, TargetTag: ${Amd64Uri}" - } - - docker push $Amd64Uri - if (!$?) - { - throw "Failed to push at ${Amd64Uri}" - } - - if ($IncludeArm64 -eq "True") - { - # Tag and push Arm64 image to destination ECR - $Arm64Uri = "${DestinationEcr}/${EcrRepositoryName}:${Arm64ImageTag}" - docker tag $SourceArm64Uri $Arm64Uri - if (!$?) - { - throw "Failed to tag. SourceTag: ${SourceArm64Uri}, TargetTag: ${Arm64Uri}" - } - - docker push $Arm64Uri - if (!$?) - { - throw "Failed to push at ${Arm64Uri}" - } - } - - # Push multi arch to destination ECR - $ManifestList = "${DestinationEcr}/${EcrRepositoryName}:${MultiArchImageTag}" - if ($IncludeArm64 -eq "True") - { - Push-MultiArchImageManifest -ManifestList $ManifestList -Amd64Manifest $Amd64Uri -Arm64Manifest $Arm64Uri - } - else - { - Push-MultiArchImageManifest -ManifestList $ManifestList -Amd64Manifest $Amd64Uri - } -} \ No newline at end of file diff --git a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerPush/buildspec.yml b/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerPush/buildspec.yml deleted file mode 100644 index 62232c224..000000000 --- a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerPush/buildspec.yml +++ /dev/null @@ -1,16 +0,0 @@ -version: 0.2 -# Based on the Docker documentation, must include the DOCKER_CLI_EXPERIMENTAL environment variable -# https://docs.docker.com/engine/reference/commandline/manifest/ - -phases: - build: - commands: - - export DOCKER_CLI_EXPERIMENTAL=enabled - - pwsh LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/DockerPush/build.ps1 - -SourceEcr $AWS_LAMBDA_SOURCE_ECR - -EcrRepositoryName $AWS_LAMBDA_ECR_REPOSITORY_NAME - -Amd64ImageTag $AWS_LAMBDA_AMD64_IMAGE_TAG - -Arm64ImageTag $AWS_LAMBDA_ARM64_IMAGE_TAG - -MultiArchImageTag $AWS_LAMBDA_MULTI_ARCH_IMAGE_TAG - -DestinationEcrs $AWS_LAMBDA_DESTINATION_ECRS - -IncludeArm64 $AWS_LAMBDA_INCLUDE_ARM64 diff --git a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/GlobalSuppressions.cs b/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/GlobalSuppressions.cs deleted file mode 100644 index dfa1fce7f..000000000 --- a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/GlobalSuppressions.cs +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Potential Code Quality Issues", "RECS0026:Possible unassigned object created by 'new'", Justification = "Constructs add themselves to the scope in which they are created")] diff --git a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/Infrastructure.csproj b/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/Infrastructure.csproj deleted file mode 100644 index 3a5ab3166..000000000 --- a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/Infrastructure.csproj +++ /dev/null @@ -1,19 +0,0 @@ - - - - Exe - net8 - - Major - - - - - - - - - - diff --git a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/PipelineStack.cs b/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/PipelineStack.cs deleted file mode 100644 index 101c0f113..000000000 --- a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/PipelineStack.cs +++ /dev/null @@ -1,506 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -using System; -using System.Collections.Generic; -using Amazon.CDK; -using Amazon.CDK.AWS.CodeBuild; -using Amazon.CDK.AWS.CodePipeline; -using Amazon.CDK.AWS.CodePipeline.Actions; -using Amazon.CDK.AWS.IAM; -using Constructs; - -namespace Infrastructure; - -public class PipelineStack : Stack -{ - private const string PowershellVersion = "7.4.5"; - private const string BaseImageMultiArch = "contributed-base-image-multi-arch"; - - internal PipelineStack( - Construct scope, - string id, - Configuration configuration, - FrameworkConfiguration frameworkConfiguration, - string gitHubOwner, - string gitHubRepository, - string gitHubBranch, - string pipelineName, - IStackProps props = null) : base(scope, id, props) - { - var sourceArtifact = new Artifact_(); - - var ecrPolicy = new PolicyStatement(new PolicyStatementProps - { - Effect = Effect.ALLOW, - Actions = new[] { "ecr:*" }, - Resources = new[] { "*" } - }); - - var sourceAction = new GitHubSourceAction(new GitHubSourceActionProps - { - ActionName = gitHubRepository, - Output = sourceArtifact, - Owner = gitHubOwner, - Repo = gitHubRepository, - Branch = gitHubBranch, - Trigger = GitHubTrigger.WEBHOOK, - OauthToken = SecretValue.SecretsManager(configuration.GitHubTokenSecretName, new SecretsManagerSecretOptions - { - JsonField = configuration.GitHubTokenSecretKey - }) - }); - - var pipeline = new Pipeline(this, "CodePipeline", new PipelineProps - { - PipelineType = PipelineType.V2, - PipelineName = pipelineName, - RestartExecutionOnUpdate = true, - Stages = - [ - new StageOptions - { - StageName = "Source", - Actions = [sourceAction] - } - ] - }); - - var stageEcr = GetStageEcr(this, frameworkConfiguration.EcrRepositoryName, configuration); - - var dockerBuildActions = new List(); - - // Stage - // Build AMD64 image - var dockerBuildAmd64 = new Project(this, "DockerBuild-amd64", new ProjectProps - { - BuildSpec = BuildSpec.FromSourceFilename($"{Configuration.ProjectRoot}/DockerBuild/buildspec.yml"), - Description = $"Builds and pushes image to {stageEcr}", - Environment = new BuildEnvironment - { - BuildImage = LinuxBuildImage.AMAZON_LINUX_2_5, - Privileged = true - }, - Source = Source.GitHub(new GitHubSourceProps - { - Owner = gitHubOwner, - Repo = gitHubRepository, - BranchOrRef = gitHubBranch - }), - EnvironmentVariables = new Dictionary - { - {"AWS_LAMBDA_STAGE_ECR", new BuildEnvironmentVariable {Value = stageEcr}}, - {"AWS_LAMBDA_ECR_REPOSITORY_NAME", new BuildEnvironmentVariable {Value = frameworkConfiguration.EcrRepositoryName}}, - {"AWS_LAMBDA_ARCHITECTURE", new BuildEnvironmentVariable {Value = "amd64"}}, - {"AWS_LAMBDA_POWERSHELL_VERSION", new BuildEnvironmentVariable {Value = PowershellVersion}}, - {"AWS_LAMBDA_IMAGE_TAG", new BuildEnvironmentVariable {Value = frameworkConfiguration.BaseImageAmd64Tag}}, - {"AWS_LAMBDA_DOTNET_FRAMEWORK_VERSION", new BuildEnvironmentVariable {Value = frameworkConfiguration.Framework}}, - {"AWS_LAMBDA_DOTNET_FRAMEWORK_CHANNEL", new BuildEnvironmentVariable {Value = frameworkConfiguration.Channel}}, - {"AWS_LAMBDA_DOTNET_SDK_VERSION", new BuildEnvironmentVariable {Value = frameworkConfiguration.SpecificSdkVersion }} - } - }); - - dockerBuildAmd64.AddToRolePolicy(ecrPolicy); - dockerBuildActions.Add(new CodeBuildAction(new CodeBuildActionProps - { - Input = sourceArtifact, - Project = dockerBuildAmd64, - ActionName = "amd64" - })); - - if (frameworkConfiguration.HasArm64Image) - { - // Build ARM64 image - var dockerBuildArm64 = new Project(this, "DockerBuild-arm64", new ProjectProps - { - BuildSpec = BuildSpec.FromSourceFilename($"{Configuration.ProjectRoot}/DockerBuild/buildspec.yml"), - Description = $"Builds and pushes image to {stageEcr}", - Environment = new BuildEnvironment - { - BuildImage = LinuxArmBuildImage.AMAZON_LINUX_2_STANDARD_3_0, - Privileged = true - }, - Source = Source.GitHub(new GitHubSourceProps - { - Owner = gitHubOwner, - Repo = gitHubRepository, - BranchOrRef = gitHubBranch - }), - EnvironmentVariables = new Dictionary - { - {"AWS_LAMBDA_STAGE_ECR", new BuildEnvironmentVariable {Value = stageEcr}}, - {"AWS_LAMBDA_ECR_REPOSITORY_NAME", new BuildEnvironmentVariable {Value = frameworkConfiguration.EcrRepositoryName}}, - {"AWS_LAMBDA_ARCHITECTURE", new BuildEnvironmentVariable {Value = "arm64"}}, - {"AWS_LAMBDA_POWERSHELL_VERSION", new BuildEnvironmentVariable {Value = PowershellVersion}}, - {"AWS_LAMBDA_IMAGE_TAG", new BuildEnvironmentVariable {Value = frameworkConfiguration.BaseImageArm64Tag}}, - {"AWS_LAMBDA_DOTNET_FRAMEWORK_VERSION", new BuildEnvironmentVariable {Value = frameworkConfiguration.Framework}}, - {"AWS_LAMBDA_DOTNET_FRAMEWORK_CHANNEL", new BuildEnvironmentVariable {Value = frameworkConfiguration.Channel}}, - {"AWS_LAMBDA_DOTNET_SDK_VERSION", new BuildEnvironmentVariable {Value = frameworkConfiguration.SpecificSdkVersion }} - } - }); - - dockerBuildArm64.AddToRolePolicy(ecrPolicy); - dockerBuildActions.Add(new CodeBuildAction(new CodeBuildActionProps - { - Input = sourceArtifact, - Project = dockerBuildArm64, - ActionName = "arm64" - })); - } - - pipeline.AddStage(new StageOptions - { - StageName = "DockerBuild", - Actions = dockerBuildActions.ToArray() - }); - - // Create multi arch image manifest - var dockerImageManifest = new Project(this, "DockerImageManifest", new ProjectProps - { - BuildSpec = BuildSpec.FromSourceFilename($"{Configuration.ProjectRoot}/DockerImageManifest/buildspec.yml"), - Description = $"Creates image manifest and pushes to {stageEcr}", - Environment = new BuildEnvironment - { - BuildImage = LinuxBuildImage.AMAZON_LINUX_2_5, - Privileged = true - }, - Source = Source.GitHub(new GitHubSourceProps - { - Owner = gitHubOwner, - Repo = gitHubRepository, - BranchOrRef = gitHubBranch - }), - EnvironmentVariables = new Dictionary - { - {"AWS_LAMBDA_STAGE_ECR", new BuildEnvironmentVariable {Value = stageEcr}}, - {"AWS_LAMBDA_ECR_REPOSITORY_NAME", new BuildEnvironmentVariable {Value = frameworkConfiguration.EcrRepositoryName}}, - {"AWS_LAMBDA_MULTI_ARCH_IMAGE_TAG", new BuildEnvironmentVariable {Value = BaseImageMultiArch}}, - {"AWS_LAMBDA_AMD64_IMAGE_TAG", new BuildEnvironmentVariable {Value = frameworkConfiguration.BaseImageAmd64Tag}}, - {"AWS_LAMBDA_ARM64_IMAGE_TAG", new BuildEnvironmentVariable {Value = frameworkConfiguration.BaseImageArm64Tag}}, - {"AWS_LAMBDA_INCLUDE_ARM64", new BuildEnvironmentVariable {Value = frameworkConfiguration.HasArm64Image.ToString()}}, - } - }); - - dockerImageManifest.AddToRolePolicy(ecrPolicy); - - pipeline.AddStage(new StageOptions - { - StageName = "DockerImageManifest", - Actions = - [ - new CodeBuildAction(new CodeBuildActionProps - { - Input = sourceArtifact, - Project = dockerImageManifest, - ActionName = "DockerImageManifest" - }) - ] - }); - - var smokeTestsLambdaFunctionRole = new Role(this, "SmokeTestsLambdaFunctionRole", new RoleProps - { - RoleName = $"image-function-tests-{Guid.NewGuid()}", - ManagedPolicies = [ManagedPolicy.FromAwsManagedPolicyName("service-role/AWSLambdaBasicExecutionRole")], - AssumedBy = new ServicePrincipal("lambda.amazonaws.com") - }); - - // Smoke test AMD64 image - var amd64SmokeTests = new Project(this, "SmokeTests-amd64", new ProjectProps - { - BuildSpec = BuildSpec.FromSourceFilename($"{Configuration.ProjectRoot}/SmokeTests/buildspec.yml"), - Description = "Runs smoke tests on the built image.", - Environment = new BuildEnvironment - { - BuildImage = LinuxBuildImage.AMAZON_LINUX_2_5, - Privileged = true - }, - Source = Source.GitHub(new GitHubSourceProps - { - Owner = gitHubOwner, - Repo = gitHubRepository, - BranchOrRef = gitHubBranch - }), - EnvironmentVariables = new Dictionary - { - {"AWS_LAMBDA_SOURCE_ECR", new BuildEnvironmentVariable {Value = stageEcr}}, - {"AWS_LAMBDA_ECR_REPOSITORY_NAME", new BuildEnvironmentVariable {Value = frameworkConfiguration.EcrRepositoryName}}, - {"AWS_LAMBDA_SOURCE_IMAGE_TAG", new BuildEnvironmentVariable {Value = BaseImageMultiArch}}, - {"AWS_LAMBDA_POWERSHELL_VERSION", new BuildEnvironmentVariable {Value = PowershellVersion}}, - {"AWS_LAMBDA_DOTNET_FRAMEWORK_VERSION", new BuildEnvironmentVariable {Value = frameworkConfiguration.Framework}}, - {"AWS_LAMBDA_DOTNET_FRAMEWORK_CHANNEL", new BuildEnvironmentVariable {Value = frameworkConfiguration.Channel}}, - {"AWS_LAMBDA_DOTNET_BUILD_IMAGE", new BuildEnvironmentVariable {Value = frameworkConfiguration.DockerBuildImage}}, - {"AWS_LAMBDA_DOTNET_SDK_VERSION", new BuildEnvironmentVariable {Value = frameworkConfiguration.SpecificSdkVersion }}, - {"AWS_LAMBDA_SMOKETESTS_LAMBDA_ROLE", new BuildEnvironmentVariable {Value = smokeTestsLambdaFunctionRole.RoleArn}} - }, - }); - - var smokeTestsPolicies = new List(); - - // ECR Policies - smokeTestsPolicies.Add(new PolicyStatement(new PolicyStatementProps - { - Effect = Effect.ALLOW, - Actions = - [ - "ecr:BatchCheckLayerAvailability", - "ecr:BatchDeleteImage", - "ecr:BatchGetImage", - "ecr:CompleteLayerUpload", - "ecr:CreateRepository", - "ecr:DescribeRepositories", - "ecr:GetAuthorizationToken", - "ecr:GetDownloadUrlForLayer", - "ecr:InitiateLayerUpload", - "ecr:PutImage", - "ecr:UploadLayerPart" - ], - Resources = - [ - $"arn:aws:ecr:{configuration.Region}:{configuration.AccountId}:repository/image-function-tests", - $"arn:aws:ecr:{configuration.Region}:{configuration.AccountId}:repository/{frameworkConfiguration.EcrRepositoryName}" - ] - })); - - // The following ECR policy needs to specify * as the resource since that is what is explicitly stated by the following error: - // An error occurred (AccessDeniedException) when calling the GetAuthorizationToken operation: - // User: *** is not authorized to perform: ecr:GetAuthorizationToken on resource: * because no identity-based policy - // allows the ecr:GetAuthorizationToken action - smokeTestsPolicies.Add(new PolicyStatement(new PolicyStatementProps - { - Effect = Effect.ALLOW, - Actions = - [ - "ecr:GetAuthorizationToken" - ], - Resources = ["*"] - })); - - // IAM Policies - smokeTestsPolicies.Add(new PolicyStatement(new PolicyStatementProps - { - Effect = Effect.ALLOW, - Actions = - [ - "iam:PassRole" - ], - Resources = [smokeTestsLambdaFunctionRole.RoleArn] - })); - - // Lambda Policies - smokeTestsPolicies.Add(new PolicyStatement(new PolicyStatementProps - { - Effect = Effect.ALLOW, - Actions = - [ - "lambda:CreateFunction", - "lambda:DeleteFunction", - "lambda:GetFunction", - "lambda:GetFunctionConfiguration", - "lambda:InvokeFunction", - "lambda:UpdateFunctionConfiguration" - ], - Resources = - [ - $"arn:aws:lambda:{configuration.Region}:{configuration.AccountId}:function:image-function-tests-*" - ] - })); - - foreach (var policy in smokeTestsPolicies) - amd64SmokeTests.AddToRolePolicy(policy); - - var smokeTestsActions = new List(); - smokeTestsActions.Add(new CodeBuildAction(new CodeBuildActionProps - { - Input = sourceArtifact, - Project = amd64SmokeTests, - ActionName = "amd64" - })); - - if (frameworkConfiguration.HasArm64Image) - { - // Smoke test ARM64 image - var arm64SmokeTests = new Project(this, "SmokeTests-arm64", new ProjectProps - { - BuildSpec = BuildSpec.FromSourceFilename($"{Configuration.ProjectRoot}/SmokeTests/buildspec.yml"), - Description = "Runs smoke tests on the built image.", - Environment = new BuildEnvironment - { - BuildImage = LinuxArmBuildImage.AMAZON_LINUX_2_STANDARD_3_0, - Privileged = true - }, - Source = Source.GitHub(new GitHubSourceProps - { - Owner = gitHubOwner, - Repo = gitHubRepository, - BranchOrRef = gitHubBranch - }), - EnvironmentVariables = new Dictionary - { - {"AWS_LAMBDA_SOURCE_ECR", new BuildEnvironmentVariable {Value = stageEcr}}, - {"AWS_LAMBDA_ECR_REPOSITORY_NAME", new BuildEnvironmentVariable {Value = frameworkConfiguration.EcrRepositoryName}}, - {"AWS_LAMBDA_SOURCE_IMAGE_TAG", new BuildEnvironmentVariable {Value = BaseImageMultiArch}}, - {"AWS_LAMBDA_POWERSHELL_VERSION", new BuildEnvironmentVariable {Value = PowershellVersion}}, - {"AWS_LAMBDA_DOTNET_FRAMEWORK_VERSION", new BuildEnvironmentVariable {Value = frameworkConfiguration.Framework}}, - {"AWS_LAMBDA_DOTNET_FRAMEWORK_CHANNEL", new BuildEnvironmentVariable {Value = frameworkConfiguration.Channel}}, - {"AWS_LAMBDA_DOTNET_BUILD_IMAGE", new BuildEnvironmentVariable {Value = frameworkConfiguration.DockerBuildImage}}, - {"AWS_LAMBDA_DOTNET_SDK_VERSION", new BuildEnvironmentVariable {Value = frameworkConfiguration.SpecificSdkVersion }}, - {"AWS_LAMBDA_SMOKETESTS_LAMBDA_ROLE", new BuildEnvironmentVariable {Value = smokeTestsLambdaFunctionRole.RoleArn}} - } - }); - - foreach (var policy in smokeTestsPolicies) - arm64SmokeTests.AddToRolePolicy(policy); - - smokeTestsActions.Add(new CodeBuildAction(new CodeBuildActionProps - { - Input = sourceArtifact, - Project = arm64SmokeTests, - ActionName = "arm64" - })); - } - - pipeline.AddStage(new StageOptions - { - StageName = "SmokeTests", - Actions = smokeTestsActions.ToArray() - }); - - // Beta - if (!string.IsNullOrWhiteSpace(configuration.Ecrs.Beta)) - { - var betaDockerPush = new Project(this, "Beta-DockerPush", new ProjectProps - { - BuildSpec = BuildSpec.FromSourceFilename($"{Configuration.ProjectRoot}/DockerPush/buildspec.yml"), - Description = $"Pushes staged image to {configuration.Ecrs.Beta}", - Environment = new BuildEnvironment - { - BuildImage = LinuxBuildImage.AMAZON_LINUX_2_5, - Privileged = true - }, - Source = Source.GitHub(new GitHubSourceProps - { - Owner = gitHubOwner, - Repo = gitHubRepository, - BranchOrRef = gitHubBranch - }), - EnvironmentVariables = new Dictionary - { - {"AWS_LAMBDA_SOURCE_ECR", new BuildEnvironmentVariable {Value = stageEcr}}, - {"AWS_LAMBDA_ECR_REPOSITORY_NAME", new BuildEnvironmentVariable {Value = frameworkConfiguration.EcrRepositoryName}}, - {"AWS_LAMBDA_DESTINATION_ECRS", new BuildEnvironmentVariable {Value = configuration.Ecrs.Beta}}, - {"AWS_LAMBDA_MULTI_ARCH_IMAGE_TAG", new BuildEnvironmentVariable {Value = BaseImageMultiArch}}, - {"AWS_LAMBDA_AMD64_IMAGE_TAG", new BuildEnvironmentVariable {Value = frameworkConfiguration.BaseImageAmd64Tag}}, - {"AWS_LAMBDA_ARM64_IMAGE_TAG", new BuildEnvironmentVariable {Value = frameworkConfiguration.BaseImageArm64Tag}}, - {"AWS_LAMBDA_INCLUDE_ARM64", new BuildEnvironmentVariable {Value = frameworkConfiguration.HasArm64Image.ToString()}}, - } - }); - - betaDockerPush.AddToRolePolicy(ecrPolicy); - - pipeline.AddStage(new StageOptions - { - StageName = "Beta-DockerPush", - Actions = - [ - new CodeBuildAction(new CodeBuildActionProps - { - Input = sourceArtifact, - Project = betaDockerPush, - ActionName = "DockerPush" - }) - ] - }); - } - - // Prod - if (!string.IsNullOrWhiteSpace(configuration.Ecrs.Prod)) - { - // Manual Approval - pipeline.AddStage(new StageOptions - { - StageName = "Prod-ManualApproval", - Actions = - [ - new ManualApprovalAction(new ManualApprovalActionProps - { - ActionName = "ManualApproval" - }) - ] - }); - - var prodDockerPush = new Project(this, "Prod-DockerPush", new ProjectProps - { - BuildSpec = BuildSpec.FromSourceFilename($"{Configuration.ProjectRoot}/DockerPush/buildspec.yml"), - Description = $"Pushes staged image to {configuration.Ecrs.Prod}", - Environment = new BuildEnvironment - { - BuildImage = LinuxBuildImage.AMAZON_LINUX_2_5, - Privileged = true - }, - Source = Source.GitHub(new GitHubSourceProps - { - Owner = gitHubOwner, - Repo = gitHubRepository, - BranchOrRef = gitHubBranch - }), - EnvironmentVariables = new Dictionary - { - {"AWS_LAMBDA_SOURCE_ECR", new BuildEnvironmentVariable {Value = stageEcr}}, - {"AWS_LAMBDA_ECR_REPOSITORY_NAME", new BuildEnvironmentVariable {Value = frameworkConfiguration.EcrRepositoryName}}, - {"AWS_LAMBDA_DESTINATION_ECRS", new BuildEnvironmentVariable {Value = configuration.Ecrs.Prod}}, - {"AWS_LAMBDA_MULTI_ARCH_IMAGE_TAG", new BuildEnvironmentVariable {Value = BaseImageMultiArch}}, - {"AWS_LAMBDA_AMD64_IMAGE_TAG", new BuildEnvironmentVariable {Value = frameworkConfiguration.BaseImageAmd64Tag}}, - {"AWS_LAMBDA_ARM64_IMAGE_TAG", new BuildEnvironmentVariable {Value = frameworkConfiguration.BaseImageArm64Tag}}, - {"AWS_LAMBDA_INCLUDE_ARM64", new BuildEnvironmentVariable {Value = frameworkConfiguration.HasArm64Image.ToString()}}, - } - }); - - prodDockerPush.AddToRolePolicy(ecrPolicy); - - pipeline.AddStage(new StageOptions - { - StageName = "Prod-DockerPush", - Actions = - [ - new CodeBuildAction(new CodeBuildActionProps - { - Input = sourceArtifact, - Project = prodDockerPush, - ActionName = "DockerPush" - }) - ] - }); - } - } - - private string GetStageEcr(Construct scope, string ecrRepositoryName, Configuration configuration) - { - if (string.IsNullOrWhiteSpace(configuration.Ecrs.Stage)) - { - var repository = new Amazon.CDK.AWS.ECR.Repository(scope, "StageEcr", new Amazon.CDK.AWS.ECR.RepositoryProps - { - RepositoryName = ecrRepositoryName - }); - return GetEcr(repository.RepositoryUri); - } - - return configuration.Ecrs.Stage; - } - - private static string GetEcr(string ecrRepositoryUri) - { - return ecrRepositoryUri.Split('/')[0]; - } -} diff --git a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/PipelinesStage.cs b/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/PipelinesStage.cs deleted file mode 100644 index 49a65b068..000000000 --- a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/PipelinesStage.cs +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -using Amazon.CDK; -using Constructs; - -namespace Infrastructure; - -internal class PipelinesStage : Stage -{ - public PipelinesStage( - Construct scope, - string id, - Configuration configuration, - IStageProps props = null) : base(scope, id, props) - { - // Create pipelines for main repository - CreatePipelinesForRepository(configuration, - configuration.ProjectName, - configuration.GitHubOwner, - configuration.GitHubRepository, - configuration.GitHubBranch); - - // Create pipelines for staging repository - CreatePipelinesForRepository(configuration, - $"{configuration.ProjectName}-staging", - configuration.GitHubOwnerStaging, - configuration.GitHubRepositoryStaging, - configuration.GitHubBranchStaging); - } - - private void CreatePipelinesForRepository( - Configuration configuration, - string pipelinePrefix, - string gitHubOwner, - string gitHubRepository, - string gitHubBranch) - { - for (var i = 0; i < configuration.Frameworks.Length; i++) - { - - var pipelineName = $"{pipelinePrefix}-{configuration.Frameworks[i].Framework}"; - - new PipelineStack(this, - $"{pipelinePrefix}-{configuration.Frameworks[i].Framework}", - configuration, - configuration.Frameworks[i], - gitHubOwner, - gitHubRepository, - gitHubBranch, - pipelineName, - new StackProps - { - TerminationProtection = true, - Env = new Amazon.CDK.Environment - { - Account = configuration.AccountId, - Region = configuration.Region - } - } - ); - } - } -} diff --git a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/Program.cs b/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/Program.cs deleted file mode 100644 index 75fe97257..000000000 --- a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/Program.cs +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -using Amazon.CDK; - -namespace Infrastructure; - -sealed class Program -{ - public static void Main(string[] args) - { - var configuration = new Configuration(); - var app = new App(); - - new SelfMutatingPipelineStack( - app, - configuration.ProjectName, - configuration, - new StackProps - { - TerminationProtection = true, - Env = new Amazon.CDK.Environment - { - Account = configuration.AccountId, - Region = configuration.Region - } - } - ); - - app.Synth(); - } -} diff --git a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/SelfMutatingPipelineStack.cs b/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/SelfMutatingPipelineStack.cs deleted file mode 100644 index e3140244a..000000000 --- a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/SelfMutatingPipelineStack.cs +++ /dev/null @@ -1,129 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -using System.Collections.Generic; -using Amazon.CDK; -using Amazon.CDK.AWS.CodeBuild; -using Amazon.CDK.AWS.CodePipeline; -using Amazon.CDK.Pipelines; -using Constructs; - -namespace Infrastructure; - -public class SelfMutatingPipelineStack : Stack -{ - private const string CDK_CLI_VERSION = "2.1018.0"; - - internal SelfMutatingPipelineStack( - Construct scope, - string id, - Configuration configuration, - IStackProps props = null) : base(scope, id, props) - { - var environmentVariables = - new Dictionary - { - { "AWS_LAMBDA_PIPELINE_ACCOUNT_ID", - new BuildEnvironmentVariable { Type = BuildEnvironmentVariableType.PLAINTEXT, Value = - System.Environment.GetEnvironmentVariable("AWS_LAMBDA_PIPELINE_ACCOUNT_ID") ?? string.Empty } }, - { "AWS_LAMBDA_PIPELINE_NAME_SUFFIX", - new BuildEnvironmentVariable { Type = BuildEnvironmentVariableType.PLAINTEXT, Value = - System.Environment.GetEnvironmentVariable("AWS_LAMBDA_PIPELINE_NAME_SUFFIX") ?? string.Empty } }, - { "AWS_LAMBDA_PIPELINE_REGION", - new BuildEnvironmentVariable { Type = BuildEnvironmentVariableType.PLAINTEXT, Value = - System.Environment.GetEnvironmentVariable("AWS_LAMBDA_PIPELINE_REGION") ?? string.Empty } }, - { "AWS_LAMBDA_GITHUB_TOKEN_SECRET_NAME", - new BuildEnvironmentVariable { Type = BuildEnvironmentVariableType.PLAINTEXT, Value = - System.Environment.GetEnvironmentVariable("AWS_LAMBDA_GITHUB_TOKEN_SECRET_NAME") ?? string.Empty } }, - { "AWS_LAMBDA_GITHUB_TOKEN_SECRET_KEY", - new BuildEnvironmentVariable { Type = BuildEnvironmentVariableType.PLAINTEXT, Value = - System.Environment.GetEnvironmentVariable("AWS_LAMBDA_GITHUB_TOKEN_SECRET_KEY") ?? string.Empty } }, - { "AWS_LAMBDA_GITHUB_REPO_OWNER", - new BuildEnvironmentVariable { Type = BuildEnvironmentVariableType.PLAINTEXT, Value = - System.Environment.GetEnvironmentVariable("AWS_LAMBDA_GITHUB_REPO_OWNER") ?? string.Empty } }, - { "AWS_LAMBDA_GITHUB_REPO_NAME", - new BuildEnvironmentVariable { Type = BuildEnvironmentVariableType.PLAINTEXT, Value = - System.Environment.GetEnvironmentVariable("AWS_LAMBDA_GITHUB_REPO_NAME") ?? string.Empty } }, - { "AWS_LAMBDA_GITHUB_REPO_BRANCH", - new BuildEnvironmentVariable { Type = BuildEnvironmentVariableType.PLAINTEXT, Value = - System.Environment.GetEnvironmentVariable("AWS_LAMBDA_GITHUB_REPO_BRANCH") ?? string.Empty } }, - { "AWS_LAMBDA_STAGE_ECR", - new BuildEnvironmentVariable { Type = BuildEnvironmentVariableType.PLAINTEXT, Value = - System.Environment.GetEnvironmentVariable("AWS_LAMBDA_STAGE_ECR") ?? string.Empty } }, - { "AWS_LAMBDA_BETA_ECRS", - new BuildEnvironmentVariable { Type = BuildEnvironmentVariableType.PLAINTEXT, Value = - System.Environment.GetEnvironmentVariable("AWS_LAMBDA_BETA_ECRS") ?? string.Empty } }, - { "AWS_LAMBDA_PROD_ECRS", - new BuildEnvironmentVariable { Type = BuildEnvironmentVariableType.PLAINTEXT, Value = - System.Environment.GetEnvironmentVariable("AWS_LAMBDA_PROD_ECRS") ?? string.Empty } }, - { "AWS_LAMBDA_ECR_REPOSITORY_NAME", - new BuildEnvironmentVariable { Type = BuildEnvironmentVariableType.PLAINTEXT, Value = - System.Environment.GetEnvironmentVariable("AWS_LAMBDA_ECR_REPOSITORY_NAME") ?? string.Empty } }, - { "AWS_LAMBDA_DOTNET_FRAMEWORK_VERSION", - new BuildEnvironmentVariable { Type = BuildEnvironmentVariableType.PLAINTEXT, Value = - System.Environment.GetEnvironmentVariable("AWS_LAMBDA_DOTNET_FRAMEWORK_VERSION") ?? string.Empty } }, - { "AWS_LAMBDA_DOTNET_FRAMEWORK_CHANNEL", - new BuildEnvironmentVariable { Type = BuildEnvironmentVariableType.PLAINTEXT, Value = - System.Environment.GetEnvironmentVariable("AWS_LAMBDA_DOTNET_FRAMEWORK_CHANNEL") ?? string.Empty } }, - { "AWS_LAMBDA_GITHUB_REPO_OWNER_STAGING", - new BuildEnvironmentVariable { Type = BuildEnvironmentVariableType.PLAINTEXT, Value = - System.Environment.GetEnvironmentVariable("AWS_LAMBDA_GITHUB_REPO_OWNER_STAGING") ?? string.Empty } }, - { "AWS_LAMBDA_GITHUB_REPO_NAME_STAGING", - new BuildEnvironmentVariable { Type = BuildEnvironmentVariableType.PLAINTEXT, Value = - System.Environment.GetEnvironmentVariable("AWS_LAMBDA_GITHUB_REPO_NAME_STAGING") ?? string.Empty } }, - { "AWS_LAMBDA_GITHUB_REPO_BRANCH_STAGING", - new BuildEnvironmentVariable { Type = BuildEnvironmentVariableType.PLAINTEXT, Value = - System.Environment.GetEnvironmentVariable("AWS_LAMBDA_GITHUB_REPO_BRANCH_STAGING") ?? string.Empty } }, - }; - - // Self mutation - - var pipeline = new CodePipeline(this, "SelfMutatingPipeline", new CodePipelineProps - { - PipelineName = id, - PipelineType = PipelineType.V2, - // It synthesizes CDK code to cdk.out directory which is picked by SelfMutate stage to mutate the pipeline - Synth = new ShellStep("Synth", new ShellStepProps - { - Input = CodePipelineSource.GitHub( - $"{configuration.GitHubOwner}/{configuration.GitHubRepository}", - configuration.GitHubBranch, - new GitHubSourceOptions - { - Authentication = SecretValue.SecretsManager(configuration.GitHubTokenSecretName, new SecretsManagerSecretOptions - { - JsonField = configuration.GitHubTokenSecretKey - }) - }), - InstallCommands = new[] { $"npm install -g aws-cdk@{CDK_CLI_VERSION}" }, - Commands = new[] { $"dotnet build {Configuration.ProjectRoot}", "cdk synth" } - }), - CodeBuildDefaults = new CodeBuildOptions - { - BuildEnvironment = new BuildEnvironment - { - EnvironmentVariables = environmentVariables - }, - PartialBuildSpec = BuildSpec.FromObject(new Dictionary - { - { "phases", new Dictionary - { - { "install", new Dictionary - { - { "runtime-versions", new Dictionary - { - { "dotnet", "8.x"} - } - } - } - } - } - } - }) - } - }); - - // Add a stage in the pipeline to deploy the Lambda container pipelines - pipeline.AddStage(new PipelinesStage(this, configuration.ProjectName, configuration)); - } -} diff --git a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/SmokeTests/build.ps1 b/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/SmokeTests/build.ps1 deleted file mode 100644 index 5552be636..000000000 --- a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/SmokeTests/build.ps1 +++ /dev/null @@ -1,25 +0,0 @@ -param ( - [Parameter(HelpMessage = "Source ECR containing source docker image.")] - [string] $SourceEcr, - - [Parameter(HelpMessage = "Tag of the source image.")] - [string] $SourceImageTag, - - [Parameter(HelpMessage = "ECR repository name of source docker image.")] - [string] $EcrRepositoryName, - - [Parameter(HelpMessage = "The .NET SDK docker build image.")] - [string] $DotnetDockerBuildImage, - - [Parameter(HelpMessage = "The .NET SDK target framework.")] - [string] $DotnetTargetFramework -) - -$BASE_IMAGE = "${SourceEcr}/${EcrRepositoryName}:${SourceImageTag}" - -& "./LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction.SmokeTests/build.ps1" -BaseImage $BASE_IMAGE -BuildImage "${DotnetDockerBuildImage}" -TargetFramework "${DotnetTargetFramework}" - -if (!$?) -{ - throw "Smoke tests failed." -} \ No newline at end of file diff --git a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/SmokeTests/buildspec.yml b/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/SmokeTests/buildspec.yml deleted file mode 100644 index cd197a2fb..000000000 --- a/LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/SmokeTests/buildspec.yml +++ /dev/null @@ -1,24 +0,0 @@ -version: 0.2 -phases: - pre_build: - commands: - # Find and delete the global.json files that were added by CodeBuild. This causes issues when multiple SDKs are installed. - - find / -type f -name 'global.json' -delete - - | - if [ "$AWS_LAMBDA_DOTNET_SDK_VERSION" = "" ]; then - curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel $AWS_LAMBDA_DOTNET_FRAMEWORK_CHANNEL - else - curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --version $AWS_LAMBDA_DOTNET_SDK_VERSION - fi - - export PATH="$PATH:$HOME/.dotnet" - - export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 - - rm -rf /usr/bin/pwsh - - dotnet tool install --global PowerShell --version $AWS_LAMBDA_POWERSHELL_VERSION - build: - commands: - - pwsh LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/SmokeTests/build.ps1 - -SourceEcr $AWS_LAMBDA_SOURCE_ECR - -EcrRepositoryName $AWS_LAMBDA_ECR_REPOSITORY_NAME - -SourceImageTag $AWS_LAMBDA_SOURCE_IMAGE_TAG - -DotnetDockerBuildImage $AWS_LAMBDA_DOTNET_BUILD_IMAGE - -DotnetTargetFramework "net${AWS_LAMBDA_DOTNET_FRAMEWORK_CHANNEL}" diff --git a/LambdaRuntimeDockerfiles/SmokeTests/SmokeTests.sln b/LambdaRuntimeDockerfiles/SmokeTests/SmokeTests.sln deleted file mode 100644 index 91135e85b..000000000 --- a/LambdaRuntimeDockerfiles/SmokeTests/SmokeTests.sln +++ /dev/null @@ -1,39 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.30711.63 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{97D76F0B-452A-40B1-81C8-D4255EB71178}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{F05B9ED2-5A40-4234-8C4E-C5018D3D5438}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ImageFunction.SmokeTests", "test\ImageFunction.SmokeTests\ImageFunction.SmokeTests.csproj", "{C71AFDCA-5184-4A64-9FAB-0722BEC37CC5}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ImageFunction", "test\ImageFunction\ImageFunction.csproj", "{3944F01D-FCDE-4885-83EC-0C2F4BF7AC67}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {C71AFDCA-5184-4A64-9FAB-0722BEC37CC5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C71AFDCA-5184-4A64-9FAB-0722BEC37CC5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C71AFDCA-5184-4A64-9FAB-0722BEC37CC5}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C71AFDCA-5184-4A64-9FAB-0722BEC37CC5}.Release|Any CPU.Build.0 = Release|Any CPU - {3944F01D-FCDE-4885-83EC-0C2F4BF7AC67}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3944F01D-FCDE-4885-83EC-0C2F4BF7AC67}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3944F01D-FCDE-4885-83EC-0C2F4BF7AC67}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3944F01D-FCDE-4885-83EC-0C2F4BF7AC67}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {C71AFDCA-5184-4A64-9FAB-0722BEC37CC5} = {F05B9ED2-5A40-4234-8C4E-C5018D3D5438} - {3944F01D-FCDE-4885-83EC-0C2F4BF7AC67} = {F05B9ED2-5A40-4234-8C4E-C5018D3D5438} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {D9CCAD4C-C183-4F2B-8CC6-67FC29D5250D} - EndGlobalSection -EndGlobal diff --git a/LambdaRuntimeDockerfiles/SmokeTests/src/AWSSDK.Core.dll b/LambdaRuntimeDockerfiles/SmokeTests/src/AWSSDK.Core.dll deleted file mode 100755 index 6583601a9de8d85e019936aba697d2a92958154d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 918632 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ⅅ1 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�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 z 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

6EFX8Qp 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,$@d=@K@VnEQj+gKUVyf;wAG?i9@@sJiLp#`0 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

^NCP-AUy&b;Qv`N5{T=B9bU=9bVLgY}iP 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� z$|DF&oY0y0*-91!MG)HJ&rzBnpb^^Q)l|+^9zjq%p)3A8B@2Qg2yO8{Rhl565mrcl zzVZkH9zvV{0;LH88lk2AOlg9EMrg}c(JxdULBK<3^IxPiK|mw4w2PG{2xx@1Y}NWD z$|DGP2rKHpRCxpe523B&GNlOu8ev5pmn)ATm;?wp2@r<2CrkpE8n4hyf}p<$ZGXkW zhCArlS(1C!)9nqKR}fT4$O;L=JCm*8M$IG$ zDkMy*@E5cKmgFkDN%IN?cPmX0 z&w{C55ly#{#Tkw5NMY$((Zjq6$By^ z+UDG^G(kWkw6q75CJ1PRmiD011cBxWo#ub7WI>RX&}Mx|X@Y=8XlV~CO%TusE$tDd z2?EU!QZs~!Pis);Z#0u2&goxl2?83SrTtE6f!{*D0Uty{9y*ASjv8mHf1l1%Xh6R;Xu`CJ1PRh8C>=J*zx|fQQiL ze@#N)rS$LQDID(gXpG(6(5E`PY?45bzM%{BI~t5YPxM?M0ve&Ey{9xmKqIuYKPgQR&K81VP&g*>=K2k68U&K{Zu9S1^BMlpO`FMi7WVXhmpHnjoMN8d}sv zjmjekcnEF&CZ!1i10alE_!pHb2&jY+wVzT2LAivs-2O@v1T;cR8=y2nKqIs=>l`{z zc?3btgi*~4C{+-YKxj)}P-%jIMrdixN)rS$LR+&;q4hXP*maARF9^yfv~>?snjoMN z+PbyXgOx`R@DSSkLzE^6XoQwFRB3{MMrdjHc#2tF5d<_sOB=2j2 zQ+6v0$#pISz_K5+WshMpn>QNB?83Gz`*A6ol=5%mWluC^;|pR&?(Iz30Sn1>wgIs0 zCv4f1nar~B$rhBoFU$U&lub(c$#~h5P1#Fm+54HYmuDfl&M5#a`zc%YN=#vHbiV;D+2B>6O|$y|dkxqw!WaGl zXupZ;=St_|4#bA=b^L4}9=riCC|_vKqo6l|hm9zI;-b0I#g1#J;p$sx?yFq=z?Eyr zhi@Uvq#FzPM$3w90d8TG7dDg2lcDihl4kAz#llXef$|TlPyXq-()CWV1o;=B{AlH~ zKG)l9rIjBiXNzHrZRLB8%eJymXf9|ghxn~Lo~>Ld-pZxfN=aiMo!Lh|?buvivaU8x zSq0_fN>G<})5z*>8i6XN3>C)KDn`Gj79u0gd7{LiiqUWEXfnbBf^j9sI7X^2<9u*& zP(z`)0jl{U6*!LE=L+|xj@$M}W1+cGbvPc36VYqC`&`l=O@-zra7ljzbR{a14^S3M_We%v5@bC=M$Z%Q#|O?BCeZclMB-@KMa>zGWN?E)Hl4aR9hjXe#53 zFNS9>Tn24w-?up*;#6<3^eVHXPm4Ao#93YVgr&d~;%IJhP+{V*mO}6;(FV)Y+z{gQ zZ4t>hW?P)}_L~D+3bTizkdYzI))rsaqQ1b7T(~^zTSV*oyrRBbxGbw;dAV?EjFnyE ziGO{(b zt+t_jLoo+{{qT>&LRDa+t^8a$o%E-#9cE7Jv*bH{kDpmVBc$rh!hs z*uI#7rNtp#*u<0}!C(m2)X_l=)IC6;|r%Z{&CSoW4+d0a6p?8^Ze)c4H; zDtOQFc=uD@eGTub$$j4t79mPQh#3ce`^#U7+Yn+V#NUDVTOPy(qvpQQQJ;m_?`vkx zc*&SSHnUvj`nL?;+O>-5cLC^k%oVв!>q|q6SMghTEbO!VV*T8Q2SNeiG(Tv{n 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 ZVvQ3oR_yyMqx@ROdlyIetJ+cA{{iooZ*2eo diff --git a/LambdaRuntimeDockerfiles/SmokeTests/src/AWSSDK.IdentityManagement.dll b/LambdaRuntimeDockerfiles/SmokeTests/src/AWSSDK.IdentityManagement.dll deleted file mode 100755 index 0b0ace3d3dda8caee4d17c48ca4f5383023f4266..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 686184 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 z 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�sB^8-pG#aaysKi`gv`{ZodHEHiwR+XaQLhUE=? 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 z

- /// This test is checking the logic added to the bootstrap.sh to change the SSL_CERT_FILE - /// environment variable for AL2023. - /// - /// - /// - /// - /// - [Theory] -#if NET8_0_OR_GREATER && !NET10_0_OR_GREATER - [InlineData("SSL_CERT_FILE", "\"/var/runtime/empty-certificates.crt\"", null)] - [InlineData("SSL_CERT_FILE", "\"/tmp/my-bundle\"", "/tmp/my-bundle")] -#else - [InlineData("SSL_CERT_FILE", "\"\"", null)] - [InlineData("SSL_CERT_FILE", "\"/tmp/my-bundle\"", "/tmp/my-bundle")] -#endif - public async Task CheckEnvironmentVariable(string envName, string expectedValue, string setValue) - { - var envVariables = new Dictionary(); - if(setValue != null) - { - envVariables[envName] = setValue; - } - - await UpdateHandlerAsync("ImageFunction::ImageFunction.Function::GetEnvironmentVariable", envVariables); - - var payload = JsonConvert.SerializeObject(envName); - var invokeResponse = await InvokeFunctionAsync(payload); - - Assert.True(invokeResponse.HttpStatusCode == System.Net.HttpStatusCode.OK); - Assert.True(invokeResponse.FunctionError == null, "Failed invoke with error: " + invokeResponse.FunctionError); - - await using var responseStream = invokeResponse.Payload; - var actualValue = new StreamReader(responseStream).ReadToEnd(); - - Assert.Equal(expectedValue, actualValue); - } - - private async Task UpdateHandlerAsync(string handler, Dictionary environmentVariables = null) - { - var updateFunctionConfigurationRequest = new UpdateFunctionConfigurationRequest - { - FunctionName = _functionName, - ImageConfig = new ImageConfig() - { - Command = [handler], - }, - Environment = new Amazon.Lambda.Model.Environment - { - Variables = environmentVariables ?? new Dictionary() - } - }; - await _lambdaClient.UpdateFunctionConfigurationAsync(updateFunctionConfigurationRequest); - - await WaitUntilHelper.WaitUntil(async () => - { - var getFunctionRequest = new GetFunctionRequest() - { - FunctionName = _functionName - }; - var getFunctionResponse = await _lambdaClient.GetFunctionAsync(getFunctionRequest); - return getFunctionResponse.Configuration.LastUpdateStatus != LastUpdateStatus.Successful; - }, TimeSpan.Zero, TimeSpan.FromMinutes(5), CancellationToken.None); - } - - private async Task InvokeFunctionAsync(string payload) - { - var request = new InvokeRequest - { - FunctionName = _functionName, - Payload = string.IsNullOrEmpty(payload) ? null : payload - }; - return await _lambdaClient.InvokeAsync(request); - } - - #region Setup - - private async Task SetupAsync() - { - await CreateFunctionAsync(); - } - - private async Task CreateFunctionAsync() - { - var tryCount = 3; - while (true) - { - try - { - await _lambdaClient.CreateFunctionAsync(new CreateFunctionRequest - { - FunctionName = _functionName, - Code = new FunctionCode - { - ImageUri = _imageUri - }, - MemorySize = 512, - Role = _executionRoleArn, - PackageType = PackageType.Image, - Timeout = 30, - Architectures = new List {GetArchitecture()} - }); - break; - } - catch (InvalidParameterValueException) - { - tryCount--; - if (tryCount == 0) - { - throw; - } - - // Wait another 5 seconds to let execution role propagate - await Task.Delay(5000); - } - } - - var endTime = DateTime.Now.AddSeconds(30); - var isActive = false; - while (DateTime.Now < endTime) - { - var response = await _lambdaClient.GetFunctionConfigurationAsync(new GetFunctionConfigurationRequest - { - FunctionName = _functionName - }); - if (response.State == State.Active) - { - isActive = true; - break; - } - - await Task.Delay(2000); - } - - if (!isActive) - { - throw new Exception($"Timed out trying to create Lambda function {_functionName}"); - } - } - - private static string GetArchitecture() - { - switch (RuntimeInformation.ProcessArchitecture) - { - case System.Runtime.InteropServices.Architecture.X86: - case System.Runtime.InteropServices.Architecture.X64: - return Amazon.Lambda.Architecture.X86_64; - case System.Runtime.InteropServices.Architecture.Arm: - case System.Runtime.InteropServices.Architecture.Arm64: - return Amazon.Lambda.Architecture.Arm64; - default: - throw new NotImplementedException(RuntimeInformation.ProcessArchitecture.ToString()); - } - } - - #endregion - - #region TearDown - - public void Dispose() - { - Dispose(true); - GC.SuppressFinalize(this); - } - - protected virtual void Dispose(bool disposing) - { - if (_disposed) - { - return; - } - - // Dispose of managed resources here. - if (disposing) - { - TearDownAsync().GetAwaiter().GetResult(); - - _lambdaClient?.Dispose(); - _iamClient?.Dispose(); - } - - // Dispose of any unmanaged resources not wrapped in safe handles. - _disposed = true; - } - - private async Task TearDownAsync() - { - await DeleteFunctionIfExistsAsync(); - } - - private async Task DeleteFunctionIfExistsAsync() - { - try - { - await _lambdaClient.DeleteFunctionAsync(new DeleteFunctionRequest - { - FunctionName = _functionName - }); - } - catch (ResourceNotFoundException) - { - // No action required - } - } - - #endregion - } -} \ No newline at end of file diff --git a/LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction.SmokeTests/WaitUntilHelper.cs b/LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction.SmokeTests/WaitUntilHelper.cs deleted file mode 100644 index 502e09202..000000000 --- a/LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction.SmokeTests/WaitUntilHelper.cs +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -using System; -using System.Collections.Generic; -using System.Threading; -using System.Threading.Tasks; -using Xunit; - -namespace ImageFunction.SmokeTests -{ - public static class WaitUntilHelper - { - public static async Task WaitUntil(Func> predicate, TimeSpan frequency, TimeSpan timeout, CancellationToken cancellationToken) - { - var waitTask = Task.Run(async () => - { - while (await predicate()) - { - await Task.Delay(frequency, cancellationToken); - } - }); - - if (waitTask != await Task.WhenAny(waitTask, Task.Delay(timeout, cancellationToken))) - { - throw new TimeoutException(); - } - } - } -} \ No newline at end of file diff --git a/LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction.SmokeTests/build.ps1 b/LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction.SmokeTests/build.ps1 deleted file mode 100644 index c542fd2b5..000000000 --- a/LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction.SmokeTests/build.ps1 +++ /dev/null @@ -1,95 +0,0 @@ -param ( - [Parameter()] - [string] $Region = "us-west-2", - - [Parameter()] - [string] $RepositoryName = 'image-function-tests', - - [Parameter()] - [string] $AWSPowerShellVersion = '4.1.5.0', - - [Parameter()] - [bool] $DeleteRepository = $false, - - [Parameter()] - [string] $TargetFramework, - - [Parameter()] - [string] $BaseImage, - - [Parameter()] - [string] $BuildImage -) - -# Check whether the repository exists or not, if not create one -aws ecr describe-repositories --repository-names ${RepositoryName} --region $Region -if (!$?) { - aws ecr create-repository --repository-name ${RepositoryName} --region $Region -} - -# Get AccountId required for building Image URI -$AccountId = aws sts get-caller-identity --query Account --output text - -$Ecr = "$AccountId.dkr.ecr.$Region.amazonaws.com" - -# Get login credential and login to docker -aws ecr get-login-password --region $Region | docker login --username AWS --password-stdin $Ecr -if (!$?) -{ - throw "Failed to login in $Ecr" -} - -# Generate a random tag to make sure multiple test runs don't conflict -$Tag = New-Guid -$SourceNameTagPair = "${RepositoryName}:latest" -$DestinationUri = "${Ecr}/${repositoryName}:${Tag}" - -# Build and push Docker Image to ECR -try { - Write-Host "Building and pushing ImageFunction to $RepositoryName ECR repository" - Push-Location "$PSScriptRoot\..\ImageFunction" - - docker build -t ${SourceNameTagPair} --build-arg BASE_IMAGE=$BaseImage --build-arg BUILD_IMAGE=$BuildImage --build-arg TARGET_FRAMEWORK=$TargetFramework . - - docker tag "${SourceNameTagPair}" $DestinationUri - if (!$?) - { - throw "Failed to tag. SourceTag: ${SourceNameTagPair}, TargetTag: ${DestinationUri}" - } - - docker push $DestinationUri - if (!$?) - { - throw "Failed to push at ${DestinationUri}" - } -} -finally { - Pop-Location -} - -# Set environment variable to be consumed in tests -$env:AWS_LAMBDA_IMAGE_URI = $DestinationUri - -# Run Smoke Tests against pushed Image -try { - Write-Host "Running Smoke Tests" - Push-Location $PSScriptRoot - - dotnet test .\ImageFunction.SmokeTests.csproj -v n /p:Framework=$TargetFramework - - if (!$?) - { - throw "Smoke tests failed." - } -} -finally { - Pop-Location - - # Delete image pushed for testing - aws ecr batch-delete-image --repository-name $RepositoryName --image-ids imageTag=$Tag -} - -If ($DeleteRepository) { - Write-Host "Deleting $RepositoryName ECR repository" - Remove-ECRRepository -RepositoryName $RepositoryName -IgnoreExistingImages $True -Force -Region $Region -} \ No newline at end of file diff --git a/LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction/Dockerfile b/LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction/Dockerfile deleted file mode 100644 index 426c41642..000000000 --- a/LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction/Dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -ARG BASE_IMAGE=aws-lambda-dotnet:local -ARG BUILD_IMAGE=6.0-bullseye-slim -ARG TARGET_FRAMEWORK=net6.0 - -FROM $BASE_IMAGE AS base -ARG TARGET_FRAMEWORK - -FROM mcr.microsoft.com/dotnet/sdk:$BUILD_IMAGE as build -ARG TARGET_FRAMEWORK -COPY . /src -WORKDIR /src -RUN echo $TARGET_FRAMEWORK -RUN dotnet build "ImageFunction.csproj" -o /app/build /p:Framework=$TARGET_FRAMEWORK - -FROM build AS publish -ARG TARGET_FRAMEWORK -RUN echo $TARGET_FRAMEWORK -RUN dotnet publish "ImageFunction.csproj" -c Release -o /app/publish /p:Framework=$TARGET_FRAMEWORK - -FROM base AS final -WORKDIR /var/task -COPY --from=publish /app/publish . diff --git a/LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction/Function.cs b/LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction/Function.cs deleted file mode 100644 index c331b2e7d..000000000 --- a/LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction/Function.cs +++ /dev/null @@ -1,163 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -using System; -using System.Net.Http; -using System.Threading.Tasks; - -using Amazon.Lambda.Core; - -// Assembly attribute to enable the Lambda function's JSON input to be converted into a .NET class. -[assembly: LambdaSerializer(typeof(Amazon.Lambda.Serialization.SystemTextJson.DefaultLambdaJsonSerializer))] - -namespace ImageFunction -{ - internal class Function - { - private const string FailureResult = "FAILURE"; - private const string SuccessResult = "SUCCESS"; - private const string TestUrl = "https://www.amazon.com"; - private static readonly Lazy SevenMbString = new Lazy(() => new string('X', 1024 * 1024 * 7)); - - #region Test methods - - public string ToUpper(string input, ILambdaContext context) - { - return input?.ToUpper(); - } - - public string Ping(string input) - { - if (input == "ping") - { - return "pong"; - } - else - { - throw new Exception($"Expected input: ping but recevied {input}"); - } - } - - public async Task HttpsWorksAsync() - { - var isSuccess = false; - - using (var httpClient = new HttpClient()) - { - var response = await httpClient.GetAsync(TestUrl); - if (response.IsSuccessStatusCode) - { - isSuccess = true; - } - Console.WriteLine($"Response from HTTP get: {response}"); - } - - return GetResponse(isSuccess); - } - - public async Task ThrowExceptionAsync() - { - // do something async so this function is compiled as async - var dummy = await Task.FromResult("xyz"); - throw new Exception("Exception thrown from an async handler."); - } - - public void ThrowException() - { - throw new Exception("Exception thrown from a synchronous handler."); - } - - public async Task AggregateExceptionNotUnwrappedAsync() - { - // do something async so this function is compiled as async - var dummy = await Task.FromResult("xyz"); - throw new AggregateException("AggregateException thrown from an async handler."); - } - - public void AggregateExceptionNotUnwrapped() - { - throw new AggregateException("AggregateException thrown from a synchronous handler."); - } - - public string TooLargeResponseBody() - { - return SevenMbString.Value; - } - - public string VerifyLambdaContext(ILambdaContext lambdaContext) - { - AssertNotNull(lambdaContext.AwsRequestId, nameof(lambdaContext.AwsRequestId)); - AssertNotNull(lambdaContext.ClientContext, nameof(lambdaContext.ClientContext)); - AssertNotNull(lambdaContext.FunctionName, nameof(lambdaContext.FunctionName)); - AssertNotNull(lambdaContext.FunctionVersion, nameof(lambdaContext.FunctionVersion)); - AssertNotNull(lambdaContext.Identity, nameof(lambdaContext.Identity)); - AssertNotNull(lambdaContext.InvokedFunctionArn, nameof(lambdaContext.InvokedFunctionArn)); - AssertNotNull(lambdaContext.Logger, nameof(lambdaContext.Logger)); - AssertNotNull(lambdaContext.LogGroupName, nameof(lambdaContext.LogGroupName)); - AssertNotNull(lambdaContext.LogStreamName, nameof(lambdaContext.LogStreamName)); - - AssertTrue(lambdaContext.MemoryLimitInMB >= 128, - $"{nameof(lambdaContext.MemoryLimitInMB)}={lambdaContext.MemoryLimitInMB} is not >= 128"); - AssertTrue(lambdaContext.RemainingTime > TimeSpan.Zero, - $"{nameof(lambdaContext.RemainingTime)}={lambdaContext.RemainingTime} is not >= 0"); - - return GetResponse(true); - } - - // .NET on Linux uses the tzdata system package to get time zone information. - // If TzData is not installed/available in the Linux environment the - // TimeZoneInfo.GetSystemTimeZones() will return an empty collection. - // For futher information: https://github.com/aws/aws-lambda-dotnet/issues/1620 - public string VerifyTzData(ILambdaContext lambdaContext) - { - AssertTrue(TimeZoneInfo.GetSystemTimeZones().Count > 0, "No time zones were found"); - AssertNotNull(TimeZoneInfo.FindSystemTimeZoneById("Europe/London"), "Failed to find Europe/London timezone"); - - return SuccessResult; - } - - public string GetEnvironmentVariable(string name) - { - return Environment.GetEnvironmentVariable(name) ?? string.Empty; - } - - #endregion - - #region Private methods - - private static string GetResponse(bool isSuccess) - { - return $"{(isSuccess ? SuccessResult : FailureResult)}"; - } - - private static void AssertNotNull(object value, string valueName) - { - if (value == null) - { - throw new Exception($"{valueName} cannot be null."); - } - } - - private static void AssertTrue(bool value, string errorMessage) - { - if (!value) - { - throw new Exception(errorMessage); - } - } - - #endregion - } -} diff --git a/LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction/ImageFunction.csproj b/LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction/ImageFunction.csproj deleted file mode 100644 index 9002fda8d..000000000 --- a/LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction/ImageFunction.csproj +++ /dev/null @@ -1,19 +0,0 @@ - - - true - Lambda - latest - - - net8.0 - - - net9.0 - - - net10.0 - - - - - \ No newline at end of file diff --git a/bootstrap.ps1 b/bootstrap.ps1 deleted file mode 100644 index d68182226..000000000 --- a/bootstrap.ps1 +++ /dev/null @@ -1,65 +0,0 @@ -param ( - [Parameter(Mandatory = $true, HelpMessage = "Pipeline Account ID.")] - [string] $PipelineAccountId, - - [Parameter(Mandatory = $false, HelpMessage = "Pipeline name suffix.")] - [string] $PipelineNameSuffix, - - [Parameter(Mandatory = $true, HelpMessage = "Region.")] - [string] $Region, - - [Parameter(Mandatory = $true, HelpMessage = "The name of the secret in Secret Manager that contains the GitHub Access Token.")] - [string] $GitHubTokenSecretName, - - [Parameter(Mandatory = $true, HelpMessage = "The secret key in Secret Manager that contains the GitHub Access Token.")] - [string] $GitHubTokenSecretKey, - - [Parameter(Mandatory = $true, HelpMessage = "GitHub repository owner name.")] - [string] $GitHubRepoOwner, - - [Parameter(Mandatory = $true, HelpMessage = "GitHub repository name.")] - [string] $GitHubRepoName, - - [Parameter(Mandatory = $true, HelpMessage = "GitHub repository branch name.")] - [string] $GitHubRepoBranch, - - [Parameter(Mandatory = $true, HelpMessage = "GitHub staging repository owner name.")] - [string] $GitHubRepoOwnerStaging, - - [Parameter(Mandatory = $true, HelpMessage = "GitHub staging repository name.")] - [string] $GitHubRepoNameStaging, - - [Parameter(Mandatory = $true, HelpMessage = "GitHub staging repository branch name.")] - [string] $GitHubRepoBranchStaging, - - [Parameter(Mandatory = $false, HelpMessage = "ECR URI to store Stage images.")] - [string] $StageEcr, - - [Parameter(Mandatory = $false, HelpMessage = "Semicolon separated ECR URIs to store Beta images.")] - [string] $BetaEcrs, - - [Parameter(Mandatory = $false, HelpMessage = "Semicolon separated ECR URIs to store Prod images.")] - [string] $ProdEcrs -) - -$env:AWS_LAMBDA_PIPELINE_ACCOUNT_ID = $PipelineAccountId -$env:AWS_LAMBDA_PIPELINE_REGION = $Region -$env:AWS_LAMBDA_PIPELINE_NAME_SUFFIX = $PipelineNameSuffix - -$env:AWS_LAMBDA_GITHUB_TOKEN_SECRET_NAME = $GitHubTokenSecretName -$env:AWS_LAMBDA_GITHUB_TOKEN_SECRET_KEY = $GitHubTokenSecretKey - -$env:AWS_LAMBDA_GITHUB_REPO_OWNER = $GitHubRepoOwner -$env:AWS_LAMBDA_GITHUB_REPO_NAME = $GitHubRepoName -$env:AWS_LAMBDA_GITHUB_REPO_BRANCH = $GitHubRepoBranch - -$env:AWS_LAMBDA_GITHUB_REPO_OWNER_STAGING = $GitHubRepoOwnerStaging -$env:AWS_LAMBDA_GITHUB_REPO_NAME_STAGING = $GitHubRepoNameStaging -$env:AWS_LAMBDA_GITHUB_REPO_BRANCH_STAGING = $GitHubRepoBranchStaging - -$env:AWS_LAMBDA_STAGE_ECR = $StageEcr -$env:AWS_LAMBDA_BETA_ECRS = $BetaEcrs -$env:AWS_LAMBDA_PROD_ECRS = $ProdEcrs - -npx cdk bootstrap --cloudformation-execution-policies arn:aws:iam::aws:policy/AdministratorAccess aws://$PipelineAccountId/$Region -npx cdk deploy --require-approval never --all diff --git a/cdk.json b/cdk.json deleted file mode 100644 index c1a1e7782..000000000 --- a/cdk.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "app": "dotnet run --project LambdaRuntimeDockerfiles/Infrastructure/src/Infrastructure/Infrastructure.csproj", - "watch": { - "include": [ - "**" - ], - "exclude": [ - "README.md", - "cdk*.json", - "src/*/obj", - "src/*/bin", - "src/*.sln", - "src/*/GlobalSuppressions.cs", - "src/*/*.csproj" - ] - }, - "context": { - "@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId": false, - "@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021": false, - "@aws-cdk/aws-rds:lowercaseDbIdentifier": false, - "@aws-cdk/core:stackRelativeExports": false - } -} \ No newline at end of file From a534ca7b37994b38b7f96f7465df5fb48af245e6 Mon Sep 17 00:00:00 2001 From: aws-sdk-dotnet-automation Date: Tue, 11 Nov 2025 16:31:15 +0000 Subject: [PATCH 07/11] chore: Daily ASP.NET Core version update in Dockerfiles --- LambdaRuntimeDockerfiles/Images/net10/amd64/Dockerfile | 4 ++-- LambdaRuntimeDockerfiles/Images/net10/arm64/Dockerfile | 4 ++-- LambdaRuntimeDockerfiles/Images/net8/amd64/Dockerfile | 4 ++-- LambdaRuntimeDockerfiles/Images/net8/arm64/Dockerfile | 4 ++-- LambdaRuntimeDockerfiles/Images/net9/amd64/Dockerfile | 4 ++-- LambdaRuntimeDockerfiles/Images/net9/arm64/Dockerfile | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/LambdaRuntimeDockerfiles/Images/net10/amd64/Dockerfile b/LambdaRuntimeDockerfiles/Images/net10/amd64/Dockerfile index c0d6423a1..0771fc1c6 100644 --- a/LambdaRuntimeDockerfiles/Images/net10/amd64/Dockerfile +++ b/LambdaRuntimeDockerfiles/Images/net10/amd64/Dockerfile @@ -1,7 +1,7 @@ # Based on Docker image from: https://github.com/dotnet/dotnet-docker/ -ARG ASPNET_VERSION=10.0.0-rc.2.25502.107 -ARG ASPNET_SHA512=1403bac32f4b4370d667841a3a4cabd11e330eb0a5491894491d3c418c5fd9ce779dd629800947ab1ea018e5a7260fcee77f202e28fa8c1896d7a0177d038c7f +ARG ASPNET_VERSION=10.0.0 +ARG ASPNET_SHA512=73314cf4815f551ee6f980273836568c66020fde7e87b7fe27f8224bb6ece5e767bf2a80e42bc5aad383dcb38c823f4b2b25d0fffcbb0fbd73fa82f20e66e8cf ARG LAMBDA_RUNTIME_NAME=dotnet10 ARG AMAZON_LINUX=public.ecr.aws/lambda/provided:al2023 diff --git a/LambdaRuntimeDockerfiles/Images/net10/arm64/Dockerfile b/LambdaRuntimeDockerfiles/Images/net10/arm64/Dockerfile index d0f243fc5..74467cb61 100644 --- a/LambdaRuntimeDockerfiles/Images/net10/arm64/Dockerfile +++ b/LambdaRuntimeDockerfiles/Images/net10/arm64/Dockerfile @@ -1,7 +1,7 @@ # Based on Docker image from: https://github.com/dotnet/dotnet-docker/ -ARG ASPNET_VERSION=10.0.0-rc.2.25502.107 -ARG ASPNET_SHA512=e075c17bd5992cf6aab1f8b598645a0976ba41fcfc7414e7f73f25fe9664d9b145d4a61adf50c217418f2495131371af05e8df4da7858c72ac4b13a679107610 +ARG ASPNET_VERSION=10.0.0 +ARG ASPNET_SHA512=0ed022f7a7a2bf0660b2d4cdcb94a5444b9b9ece87f22a60a2029137630fd91385c61a19b1301e81bef363b5b890924d53a7c824e58bd4edd327723aa72c6fb5 ARG LAMBDA_RUNTIME_NAME=dotnet10 ARG AMAZON_LINUX=public.ecr.aws/lambda/provided:al2023 diff --git a/LambdaRuntimeDockerfiles/Images/net8/amd64/Dockerfile b/LambdaRuntimeDockerfiles/Images/net8/amd64/Dockerfile index 4f49aebe0..aab88f675 100644 --- a/LambdaRuntimeDockerfiles/Images/net8/amd64/Dockerfile +++ b/LambdaRuntimeDockerfiles/Images/net8/amd64/Dockerfile @@ -1,7 +1,7 @@ # Based on Docker image from: https://github.com/dotnet/dotnet-docker/ -ARG ASPNET_VERSION=8.0.21 -ARG ASPNET_SHA512=4aa9458d3de7b4ff960adcc4a655e4d7e4e6570e97791919113b8c9a55883964a60241daf3a70c60494cde1a61155d802339ec03b046466eac67298f0acc7289 +ARG ASPNET_VERSION=8.0.22 +ARG ASPNET_SHA512=842fb896e6d496875cd6bb6943779ca8a7a9684170d7200b7ab2b53433aa151a9a1800998f9da5582237a690996d8168822e50b8d4be8cf9a512cbe7a2240e88 ARG LAMBDA_RUNTIME_NAME=dotnet8 ARG AMAZON_LINUX=public.ecr.aws/lambda/provided:al2023 diff --git a/LambdaRuntimeDockerfiles/Images/net8/arm64/Dockerfile b/LambdaRuntimeDockerfiles/Images/net8/arm64/Dockerfile index 844121644..4ae7448f3 100644 --- a/LambdaRuntimeDockerfiles/Images/net8/arm64/Dockerfile +++ b/LambdaRuntimeDockerfiles/Images/net8/arm64/Dockerfile @@ -1,7 +1,7 @@ # Based on Docker image from: https://github.com/dotnet/dotnet-docker/ -ARG ASPNET_VERSION=8.0.21 -ARG ASPNET_SHA512=db04b085c4ce1d732e55be57efe771b4be4c6bcf9b5359fbf88993b19026d77e7e108a41ab0c447da100306df8dfde90bc9c206cefb1856f7da6b618b6ceda32 +ARG ASPNET_VERSION=8.0.22 +ARG ASPNET_SHA512=538eb7ce62c77f383606906f38f9aa9911339c2ad4ee849c5fb552491c1bc812492395f2975510eb808410263baf06f0771c7caf0b46695251e6c9273111288f ARG LAMBDA_RUNTIME_NAME=dotnet8 ARG AMAZON_LINUX=public.ecr.aws/lambda/provided:al2023 diff --git a/LambdaRuntimeDockerfiles/Images/net9/amd64/Dockerfile b/LambdaRuntimeDockerfiles/Images/net9/amd64/Dockerfile index 03718f31e..ec4eb7c15 100644 --- a/LambdaRuntimeDockerfiles/Images/net9/amd64/Dockerfile +++ b/LambdaRuntimeDockerfiles/Images/net9/amd64/Dockerfile @@ -1,7 +1,7 @@ # Based on Docker image from: https://github.com/dotnet/dotnet-docker/ -ARG ASPNET_VERSION=9.0.10 -ARG ASPNET_SHA512=ba1b184f3bc1c7d423186240fa30e4acd0b8392e8c61b7b593b8d12f8accc65dccfcd4120d9b9ec25c3a278df4fbaf324ff2cf1b8d3997a24417eb2abb2d8043 +ARG ASPNET_VERSION=9.0.11 +ARG ASPNET_SHA512=0a3c6a20dd2b00928cd22aca0c99d1ddd36ba93e9909a15097b952b54097e0b817454db7beae482a895d1877c281218fffee0f3f07f6a0cbe521e4c39cda5d4a ARG LAMBDA_RUNTIME_NAME=dotnet9 ARG AMAZON_LINUX=public.ecr.aws/lambda/provided:al2023 diff --git a/LambdaRuntimeDockerfiles/Images/net9/arm64/Dockerfile b/LambdaRuntimeDockerfiles/Images/net9/arm64/Dockerfile index ad3f301dc..b8d63cf44 100644 --- a/LambdaRuntimeDockerfiles/Images/net9/arm64/Dockerfile +++ b/LambdaRuntimeDockerfiles/Images/net9/arm64/Dockerfile @@ -1,7 +1,7 @@ # Based on Docker image from: https://github.com/dotnet/dotnet-docker/ -ARG ASPNET_VERSION=9.0.10 -ARG ASPNET_SHA512=ef2696a1b8080312e87af8bf1335971a49a0b7d074b0a6276473e58e5460ecb55d1908413d34d3265c6dd5cfc8c1c60ab04fcb509c940b20e61ea5ae49d04926 +ARG ASPNET_VERSION=9.0.11 +ARG ASPNET_SHA512=bcf66a56f780b720f663e4f276ebbffeb1f8117523d19fe12c545c53f929ce1036710ba078f3019767ccd19e915dc457d60dad426f926b0be46cef74c01143e8 ARG LAMBDA_RUNTIME_NAME=dotnet9 ARG AMAZON_LINUX=public.ecr.aws/lambda/provided:al2023 From d936d91e47b45ac570eacfc7c81867b384b278ca Mon Sep 17 00:00:00 2001 From: Norm Johanson Date: Wed, 19 Nov 2025 13:38:19 -0800 Subject: [PATCH 08/11] Fixed issue with output stream being reused when using multi concurrency mode --- .../3d266a68-c749-4331-a04c-b30ecaceacaf.json | 11 ++ .../Bootstrap/HandlerWrapper.cs | 181 ++++++++++++------ .../HandlerWrapperTests.cs | 43 +++++ 3 files changed, 180 insertions(+), 55 deletions(-) create mode 100644 .autover/changes/3d266a68-c749-4331-a04c-b30ecaceacaf.json diff --git a/.autover/changes/3d266a68-c749-4331-a04c-b30ecaceacaf.json b/.autover/changes/3d266a68-c749-4331-a04c-b30ecaceacaf.json new file mode 100644 index 000000000..494efc1b0 --- /dev/null +++ b/.autover/changes/3d266a68-c749-4331-a04c-b30ecaceacaf.json @@ -0,0 +1,11 @@ +{ + "Projects": [ + { + "Name": "Amazon.Lambda.RuntimeSupport", + "Type": "Patch", + "ChangelogMessages": [ + "Fixed issue with output stream being reused when using multi concurrency mode" + ] + } + ] +} \ No newline at end of file diff --git a/Libraries/src/Amazon.Lambda.RuntimeSupport/Bootstrap/HandlerWrapper.cs b/Libraries/src/Amazon.Lambda.RuntimeSupport/Bootstrap/HandlerWrapper.cs index 3b05f646e..e3a74d04b 100644 --- a/Libraries/src/Amazon.Lambda.RuntimeSupport/Bootstrap/HandlerWrapper.cs +++ b/Libraries/src/Amazon.Lambda.RuntimeSupport/Bootstrap/HandlerWrapper.cs @@ -29,7 +29,7 @@ public class HandlerWrapper : IDisposable private static readonly InvocationResponse EmptyInvocationResponse = new InvocationResponse(new MemoryStream(0), false); - private readonly MemoryStream OutputStream = new MemoryStream(); + private readonly IOutputStreamFactory _outputStreamFactory; /// /// The handler that will be called for each event. @@ -39,9 +39,20 @@ public class HandlerWrapper : IDisposable private HandlerWrapper(LambdaBootstrapHandler handler) { Handler = handler; + + if (Helpers.Utils.IsUsingMultiConcurrency(new SystemEnvironmentVariables())) + _outputStreamFactory = new MultiConcurrencyOutputStreamFactory(); + else + _outputStreamFactory = new OnDemandOutputStreamFactory(); } - private HandlerWrapper() { } + private HandlerWrapper() + { + if (Helpers.Utils.IsUsingMultiConcurrency(new SystemEnvironmentVariables())) + _outputStreamFactory = new MultiConcurrencyOutputStreamFactory(); + else + _outputStreamFactory = new OnDemandOutputStreamFactory(); + } /// /// Get a HandlerWrapper that will call the given delegate on function invocation. @@ -54,10 +65,10 @@ public static HandlerWrapper GetHandlerWrapper(Action { - handlerWrapper.OutputStream.SetLength(0); - invokeDelegate(invocation.InputStream, invocation.LambdaContext, handlerWrapper.OutputStream); - handlerWrapper.OutputStream.Position = 0; - var response = new InvocationResponse(handlerWrapper.OutputStream, false); + var outputStream = handlerWrapper._outputStreamFactory.CreateOutputStream(); + invokeDelegate(invocation.InputStream, invocation.LambdaContext, outputStream); + outputStream.Position = 0; + var response = new InvocationResponse(outputStream, false); return Task.FromResult(response); }; return handlerWrapper; @@ -271,10 +282,10 @@ public static HandlerWrapper GetHandlerWrapper(Func> hand handlerWrapper.Handler = async (invocation) => { TOutput output = await handler(); - handlerWrapper.OutputStream.SetLength(0); - serializer.Serialize(output, handlerWrapper.OutputStream); - handlerWrapper.OutputStream.Position = 0; - return new InvocationResponse(handlerWrapper.OutputStream, false); + var outputStream = handlerWrapper._outputStreamFactory.CreateOutputStream(); + serializer.Serialize(output, outputStream); + outputStream.Position = 0; + return new InvocationResponse(outputStream, false); }; return handlerWrapper; } @@ -293,10 +304,10 @@ public static HandlerWrapper GetHandlerWrapper(Func { TOutput output = await handler(invocation.InputStream); - handlerWrapper.OutputStream.SetLength(0); - serializer.Serialize(output, handlerWrapper.OutputStream); - handlerWrapper.OutputStream.Position = 0; - return new InvocationResponse(handlerWrapper.OutputStream, false); + var outputStream = handlerWrapper._outputStreamFactory.CreateOutputStream(); + serializer.Serialize(output, outputStream); + outputStream.Position = 0; + return new InvocationResponse(outputStream, false); }; return handlerWrapper; } @@ -316,10 +327,10 @@ public static HandlerWrapper GetHandlerWrapper(Func(invocation.InputStream); TOutput output = await handler(input); - handlerWrapper.OutputStream.SetLength(0); - serializer.Serialize(output, handlerWrapper.OutputStream); - handlerWrapper.OutputStream.Position = 0; - return new InvocationResponse(handlerWrapper.OutputStream, false); + var outputStream = handlerWrapper._outputStreamFactory.CreateOutputStream(); + serializer.Serialize(output, outputStream); + outputStream.Position = 0; + return new InvocationResponse(outputStream, false); }; return handlerWrapper; } @@ -338,10 +349,10 @@ public static HandlerWrapper GetHandlerWrapper(Func { TOutput output = await handler(invocation.LambdaContext); - handlerWrapper.OutputStream.SetLength(0); - serializer.Serialize(output, handlerWrapper.OutputStream); - handlerWrapper.OutputStream.Position = 0; ; - return new InvocationResponse(handlerWrapper.OutputStream, false); + var outputStream = handlerWrapper._outputStreamFactory.CreateOutputStream(); + serializer.Serialize(output, outputStream); + outputStream.Position = 0; ; + return new InvocationResponse(outputStream, false); }; return handlerWrapper; } @@ -360,10 +371,10 @@ public static HandlerWrapper GetHandlerWrapper(Func { TOutput output = await handler(invocation.InputStream, invocation.LambdaContext); - handlerWrapper.OutputStream.SetLength(0); - serializer.Serialize(output, handlerWrapper.OutputStream); - handlerWrapper.OutputStream.Position = 0; - return new InvocationResponse(handlerWrapper.OutputStream, false); + var outputStream = handlerWrapper._outputStreamFactory.CreateOutputStream(); + serializer.Serialize(output, outputStream); + outputStream.Position = 0; + return new InvocationResponse(outputStream, false); }; return handlerWrapper; } @@ -383,10 +394,10 @@ public static HandlerWrapper GetHandlerWrapper(Func(invocation.InputStream); TOutput output = await handler(input, invocation.LambdaContext); - handlerWrapper.OutputStream.SetLength(0); - serializer.Serialize(output, handlerWrapper.OutputStream); - handlerWrapper.OutputStream.Position = 0; - return new InvocationResponse(handlerWrapper.OutputStream, false); + var outputStream = handlerWrapper._outputStreamFactory.CreateOutputStream(); + serializer.Serialize(output, outputStream); + outputStream.Position = 0; + return new InvocationResponse(outputStream, false); }; return handlerWrapper; } @@ -599,10 +610,10 @@ public static HandlerWrapper GetHandlerWrapper(Func handler, I handlerWrapper.Handler = (invocation) => { TOutput output = handler(); - handlerWrapper.OutputStream.SetLength(0); - serializer.Serialize(output, handlerWrapper.OutputStream); - handlerWrapper.OutputStream.Position = 0; - return Task.FromResult(new InvocationResponse(handlerWrapper.OutputStream, false)); + var outputStream = handlerWrapper._outputStreamFactory.CreateOutputStream(); + serializer.Serialize(output, outputStream); + outputStream.Position = 0; + return Task.FromResult(new InvocationResponse(outputStream, false)); }; return handlerWrapper; } @@ -621,10 +632,10 @@ public static HandlerWrapper GetHandlerWrapper(Func ha handlerWrapper.Handler = (invocation) => { TOutput output = handler(invocation.InputStream); - handlerWrapper.OutputStream.SetLength(0); - serializer.Serialize(output, handlerWrapper.OutputStream); - handlerWrapper.OutputStream.Position = 0; - return Task.FromResult(new InvocationResponse(handlerWrapper.OutputStream, false)); + var outputStream = handlerWrapper._outputStreamFactory.CreateOutputStream(); + serializer.Serialize(output, outputStream); + outputStream.Position = 0; + return Task.FromResult(new InvocationResponse(outputStream, false)); }; return handlerWrapper; } @@ -644,10 +655,10 @@ public static HandlerWrapper GetHandlerWrapper(Func(invocation.InputStream); TOutput output = handler(input); - handlerWrapper.OutputStream.SetLength(0); - serializer.Serialize(output, handlerWrapper.OutputStream); - handlerWrapper.OutputStream.Position = 0; - return Task.FromResult(new InvocationResponse(handlerWrapper.OutputStream, false)); + var outputStream = handlerWrapper._outputStreamFactory.CreateOutputStream(); + serializer.Serialize(output, outputStream); + outputStream.Position = 0; + return Task.FromResult(new InvocationResponse(outputStream, false)); }; return handlerWrapper; } @@ -666,10 +677,10 @@ public static HandlerWrapper GetHandlerWrapper(Func { TOutput output = handler(invocation.LambdaContext); - handlerWrapper.OutputStream.SetLength(0); - serializer.Serialize(output, handlerWrapper.OutputStream); - handlerWrapper.OutputStream.Position = 0; ; - return Task.FromResult(new InvocationResponse(handlerWrapper.OutputStream, false)); + var outputStream = handlerWrapper._outputStreamFactory.CreateOutputStream(); + serializer.Serialize(output, outputStream); + outputStream.Position = 0; ; + return Task.FromResult(new InvocationResponse(outputStream, false)); }; return handlerWrapper; } @@ -688,10 +699,10 @@ public static HandlerWrapper GetHandlerWrapper(Func { TOutput output = handler(invocation.InputStream, invocation.LambdaContext); - handlerWrapper.OutputStream.SetLength(0); - serializer.Serialize(output, handlerWrapper.OutputStream); - handlerWrapper.OutputStream.Position = 0; - return Task.FromResult(new InvocationResponse(handlerWrapper.OutputStream, false)); + var outputStream = handlerWrapper._outputStreamFactory.CreateOutputStream(); + serializer.Serialize(output, outputStream); + outputStream.Position = 0; + return Task.FromResult(new InvocationResponse(outputStream, false)); }; return handlerWrapper; } @@ -711,10 +722,10 @@ public static HandlerWrapper GetHandlerWrapper(Func(invocation.InputStream); TOutput output = handler(input, invocation.LambdaContext); - handlerWrapper.OutputStream.SetLength(0); - serializer.Serialize(output, handlerWrapper.OutputStream); - handlerWrapper.OutputStream.Position = 0; - return Task.FromResult(new InvocationResponse(handlerWrapper.OutputStream, false)); + var outputStream = handlerWrapper._outputStreamFactory.CreateOutputStream(); + serializer.Serialize(output, outputStream); + outputStream.Position = 0; + return Task.FromResult(new InvocationResponse(outputStream, false)); }; return handlerWrapper; } @@ -731,7 +742,7 @@ protected virtual void Dispose(bool disposing) { if (disposing) { - OutputStream.Dispose(); + _outputStreamFactory.Dispose(); } disposedValue = true; @@ -746,5 +757,65 @@ public void Dispose() Dispose(true); } #endregion + + interface IOutputStreamFactory : IDisposable + { + MemoryStream CreateOutputStream(); + } + + /// + /// In on demand mode there is never a more then one invocation happening at a time within the process + /// so the same memory stream can be reused. + /// + class OnDemandOutputStreamFactory : IOutputStreamFactory + { + private readonly MemoryStream OutputStream = new MemoryStream(); + private bool _disposedValue; + + public MemoryStream CreateOutputStream() + { + OutputStream.SetLength(0); + return OutputStream; + } + + protected virtual void Dispose(bool disposing) + { + if (!_disposedValue) + { + if (disposing) + { + OutputStream.Dispose(); + } + + _disposedValue = true; + } + } + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + } + + /// + /// In multi concurrency mode multiple invocations can happen at the same time within the process + /// so we need to make sure each invocation gets its own output stream. + /// + class MultiConcurrencyOutputStreamFactory : IOutputStreamFactory + { + public MemoryStream CreateOutputStream() + { + return new MemoryStream(); + } + + public void Dispose() + { + // Technically we are creating MemoryStreams that have a Dispose method but that is inherited from the base + // class. A MemoryStream is fully managed and doesn't have anything to dispose so it is okay to not worry + // about disposing any of the MemoryStreams created from the CreateOutputStream call. + } + } } } diff --git a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/HandlerWrapperTests.cs b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/HandlerWrapperTests.cs index f9da3d211..88e93834f 100644 --- a/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/HandlerWrapperTests.cs +++ b/Libraries/test/Amazon.Lambda.RuntimeSupport.Tests/Amazon.Lambda.RuntimeSupport.UnitTests/HandlerWrapperTests.cs @@ -633,6 +633,49 @@ public async Task TestSerializtionOfString() } } + [Theory] + [InlineData(true)] + [InlineData(false)] + public async Task TestOutputStreamReuse(bool onDemand) + { + if (!onDemand) + { + Environment.SetEnvironmentVariable(Constants.ENV_VAR_AWS_LAMBDA_MAX_CONCURRENCY, "10"); + } + try + { + using (var handlerWrapper = HandlerWrapper.GetHandlerWrapper((input) => + { + return input.ToUpper(); + }, Serializer)) + { + var invocation1 = new InvocationRequest + { + InputStream = new MemoryStream(UTF8Encoding.UTF8.GetBytes("\"Hello\"")), + LambdaContext = new LambdaContext(_runtimeApiHeaders, _lambdaEnvironment, new Helpers.SimpleLoggerWriter(new SystemEnvironmentVariables())) + }; + + var invocationResponse1 = await handlerWrapper.Handler(invocation1); + + var invocation2 = new InvocationRequest + { + InputStream = new MemoryStream(UTF8Encoding.UTF8.GetBytes("\"World\"")), + LambdaContext = new LambdaContext(_runtimeApiHeaders, _lambdaEnvironment, new Helpers.SimpleLoggerWriter(new SystemEnvironmentVariables())) + }; + + var invocationResponse2 = await handlerWrapper.Handler(invocation2); + if (onDemand) + Assert.True(object.ReferenceEquals(invocationResponse1.OutputStream, invocationResponse2.OutputStream)); + else + Assert.False(object.ReferenceEquals(invocationResponse1.OutputStream, invocationResponse2.OutputStream)); + } + } + finally + { + Environment.SetEnvironmentVariable(Constants.ENV_VAR_AWS_LAMBDA_MAX_CONCURRENCY, null); + } + } + private async Task TestHandlerWrapper(HandlerWrapper handlerWrapper, byte[] input, byte[] expectedOutput, bool expectedDisposeOutputStream) { // run twice to make sure wrappers that reuse the output stream work correctly From 91504437172fed1d461120315bd1dbd903e74b30 Mon Sep 17 00:00:00 2001 From: aws-sdk-dotnet-automation <43080735+aws-sdk-dotnet-automation@users.noreply.github.com> Date: Wed, 19 Nov 2025 16:42:36 -0500 Subject: [PATCH 09/11] Release 2025-11-19 (#49) --- .../changes/3d266a68-c749-4331-a04c-b30ecaceacaf.json | 11 ----------- CHANGELOG.md | 5 +++++ .../Amazon.Lambda.RuntimeSupport.csproj | 2 +- 3 files changed, 6 insertions(+), 12 deletions(-) delete mode 100644 .autover/changes/3d266a68-c749-4331-a04c-b30ecaceacaf.json diff --git a/.autover/changes/3d266a68-c749-4331-a04c-b30ecaceacaf.json b/.autover/changes/3d266a68-c749-4331-a04c-b30ecaceacaf.json deleted file mode 100644 index 494efc1b0..000000000 --- a/.autover/changes/3d266a68-c749-4331-a04c-b30ecaceacaf.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "Projects": [ - { - "Name": "Amazon.Lambda.RuntimeSupport", - "Type": "Patch", - "ChangelogMessages": [ - "Fixed issue with output stream being reused when using multi concurrency mode" - ] - } - ] -} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b9038d10..e9c4055ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## Release 2025-11-19 + +### Amazon.Lambda.RuntimeSupport (1.14.1) +* Fixed issue with output stream being reused when using multi concurrency mode + ## Release 2025-11-06 ### Amazon.Lambda.CognitoEvents (4.0.1) diff --git a/Libraries/src/Amazon.Lambda.RuntimeSupport/Amazon.Lambda.RuntimeSupport.csproj b/Libraries/src/Amazon.Lambda.RuntimeSupport/Amazon.Lambda.RuntimeSupport.csproj index d90b73cb3..b921afb9b 100644 --- a/Libraries/src/Amazon.Lambda.RuntimeSupport/Amazon.Lambda.RuntimeSupport.csproj +++ b/Libraries/src/Amazon.Lambda.RuntimeSupport/Amazon.Lambda.RuntimeSupport.csproj @@ -4,7 +4,7 @@ netstandard2.0;net6.0;net8.0;net9.0;net10.0 - 1.14.0 + 1.14.1 Provides a bootstrap and Lambda Runtime API Client to help you to develop custom .NET Core Lambda Runtimes. Amazon.Lambda.RuntimeSupport Amazon.Lambda.RuntimeSupport From c615e4f5a18a9f007d0b5e0f480539bd2ad23d24 Mon Sep 17 00:00:00 2001 From: Norm Johanson Date: Fri, 21 Nov 2025 11:42:56 -0800 Subject: [PATCH 10/11] pr-2200 GitHub action runs (#50) Co-authored-by: irina-herciu --- .../changes/67579ff1-ffb8-4d48-83a8-b774555ec8e8.json | 11 +++++++++++ .../DynamodbAttributeValueConvertor.cs | 4 ++-- .../DynamodbAttributeValueConvertorTests.cs | 10 ++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 .autover/changes/67579ff1-ffb8-4d48-83a8-b774555ec8e8.json diff --git a/.autover/changes/67579ff1-ffb8-4d48-83a8-b774555ec8e8.json b/.autover/changes/67579ff1-ffb8-4d48-83a8-b774555ec8e8.json new file mode 100644 index 000000000..a8b04a82a --- /dev/null +++ b/.autover/changes/67579ff1-ffb8-4d48-83a8-b774555ec8e8.json @@ -0,0 +1,11 @@ +{ + "Projects": [ + { + "Name": "Amazon.Lambda.DynamoDBEvents.SDK.Convertor", + "Type": "Patch", + "ChangelogMessages": [ + "Fix Empty Strings converted to null issue." + ] + } + ] +} \ No newline at end of file diff --git a/Libraries/src/Amazon.Lambda.DynamoDBEvents.SDK.Convertor/DynamodbAttributeValueConvertor.cs b/Libraries/src/Amazon.Lambda.DynamoDBEvents.SDK.Convertor/DynamodbAttributeValueConvertor.cs index d32af79bf..f45856edb 100644 --- a/Libraries/src/Amazon.Lambda.DynamoDBEvents.SDK.Convertor/DynamodbAttributeValueConvertor.cs +++ b/Libraries/src/Amazon.Lambda.DynamoDBEvents.SDK.Convertor/DynamodbAttributeValueConvertor.cs @@ -21,7 +21,7 @@ public static Amazon.DynamoDBv2.Model.AttributeValue ConvertToSdkAttribute(this var sdkAttribute = new Amazon.DynamoDBv2.Model.AttributeValue(); // String - if (!string.IsNullOrEmpty(lambdaAttribute.S)) + if (lambdaAttribute.S!=null) sdkAttribute.S = lambdaAttribute.S; // Number @@ -112,7 +112,7 @@ public static Amazon.DynamoDBStreams.Model.AttributeValue ConvertToSdkStreamAttr var sdkAttribute = new Amazon.DynamoDBStreams.Model.AttributeValue(); // String - if (!string.IsNullOrEmpty(lambdaAttribute.S)) + if (lambdaAttribute.S != null) sdkAttribute.S = lambdaAttribute.S; // Number diff --git a/Libraries/test/Amazon.Lambda.DynamoDBEvents.SDK.Convertor.Tests/DynamodbAttributeValueConvertorTests.cs b/Libraries/test/Amazon.Lambda.DynamoDBEvents.SDK.Convertor.Tests/DynamodbAttributeValueConvertorTests.cs index 2e49c354e..2b78af0e8 100644 --- a/Libraries/test/Amazon.Lambda.DynamoDBEvents.SDK.Convertor.Tests/DynamodbAttributeValueConvertorTests.cs +++ b/Libraries/test/Amazon.Lambda.DynamoDBEvents.SDK.Convertor.Tests/DynamodbAttributeValueConvertorTests.cs @@ -12,6 +12,16 @@ public void ConvertToSdkAttribute_StringValue_ReturnsSdkAttribute() Assert.Equal("TestString", sdkAttribute.S); } + [Fact] + public void ConvertToSdkAttribute_EmptyStringValue_ReturnsSdkAttribute() + { + var lambdaAttribute = new DynamoDBEvent.AttributeValue { S = string.Empty }; + var sdkAttribute = lambdaAttribute.ConvertToSdkAttribute(); + + Assert.NotNull(sdkAttribute); + Assert.Equal(string.Empty, sdkAttribute.S); + } + [Fact] public void ConvertToSdkAttribute_NumberValue_ReturnsSdkAttribute() { From ca9e0ea0e68d224b81dc9fbdb7a48438b5cf83d2 Mon Sep 17 00:00:00 2001 From: aws-sdk-dotnet-automation <43080735+aws-sdk-dotnet-automation@users.noreply.github.com> Date: Fri, 21 Nov 2025 15:02:25 -0500 Subject: [PATCH 11/11] Release 2025-11-21 (#51) * release_2025-11-21 * Updated changelog --- .../changes/67579ff1-ffb8-4d48-83a8-b774555ec8e8.json | 11 ----------- CHANGELOG.md | 5 +++++ .../Amazon.Lambda.DynamoDBEvents.SDK.Convertor.csproj | 2 +- 3 files changed, 6 insertions(+), 12 deletions(-) delete mode 100644 .autover/changes/67579ff1-ffb8-4d48-83a8-b774555ec8e8.json diff --git a/.autover/changes/67579ff1-ffb8-4d48-83a8-b774555ec8e8.json b/.autover/changes/67579ff1-ffb8-4d48-83a8-b774555ec8e8.json deleted file mode 100644 index a8b04a82a..000000000 --- a/.autover/changes/67579ff1-ffb8-4d48-83a8-b774555ec8e8.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "Projects": [ - { - "Name": "Amazon.Lambda.DynamoDBEvents.SDK.Convertor", - "Type": "Patch", - "ChangelogMessages": [ - "Fix Empty Strings converted to null issue." - ] - } - ] -} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index e9c4055ad..503f3cb49 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## Release 2025-11-21 + +### Amazon.Lambda.DynamoDBEvents.SDK.Convertor (2.0.1) +* Fix Empty Strings converted to null issue. + ## Release 2025-11-19 ### Amazon.Lambda.RuntimeSupport (1.14.1) diff --git a/Libraries/src/Amazon.Lambda.DynamoDBEvents.SDK.Convertor/Amazon.Lambda.DynamoDBEvents.SDK.Convertor.csproj b/Libraries/src/Amazon.Lambda.DynamoDBEvents.SDK.Convertor/Amazon.Lambda.DynamoDBEvents.SDK.Convertor.csproj index f8bd4433d..1387bfde0 100644 --- a/Libraries/src/Amazon.Lambda.DynamoDBEvents.SDK.Convertor/Amazon.Lambda.DynamoDBEvents.SDK.Convertor.csproj +++ b/Libraries/src/Amazon.Lambda.DynamoDBEvents.SDK.Convertor/Amazon.Lambda.DynamoDBEvents.SDK.Convertor.csproj @@ -9,7 +9,7 @@ Amazon.Lambda.DynamoDBEvents.SDK.Convertor Amazon.Lambda.DynamoDBEvents.SDK.Convertor AWS;Amazon;Lambda - 2.0.0 + 2.0.1

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 diff --git a/LambdaRuntimeDockerfiles/SmokeTests/src/AWSSDK.Lambda.dll b/LambdaRuntimeDockerfiles/SmokeTests/src/AWSSDK.Lambda.dll deleted file mode 100755 index 043ec12e8b87d7d37e95470d078145e88175f2b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 441448 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:<_}Cd)le?#OkKGs9el`F!9FMGQ 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 diff --git a/LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction.SmokeTests/ImageFunction.SmokeTests.csproj b/LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction.SmokeTests/ImageFunction.SmokeTests.csproj deleted file mode 100644 index a2ce353a8..000000000 --- a/LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction.SmokeTests/ImageFunction.SmokeTests.csproj +++ /dev/null @@ -1,29 +0,0 @@ - - - - false - - - - net8.0 - - - net9.0 - - - net10.0 - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - diff --git a/LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction.SmokeTests/ImageFunctionTests.cs b/LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction.SmokeTests/ImageFunctionTests.cs deleted file mode 100644 index fcbee64a9..000000000 --- a/LambdaRuntimeDockerfiles/SmokeTests/test/ImageFunction.SmokeTests/ImageFunctionTests.cs +++ /dev/null @@ -1,324 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Net; -using System.Runtime.InteropServices; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using Amazon; -using Amazon.ECR; -using Amazon.ECR.Model; -using Amazon.IdentityManagement; -using Amazon.IdentityManagement.Model; -using Amazon.Lambda; -using Amazon.Lambda.Model; -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; -using Xunit; -using Environment = System.Environment; - -namespace ImageFunction.SmokeTests -{ - public class ImageFunctionTests : IDisposable - { - private static readonly RegionEndpoint TestRegion = RegionEndpoint.USWest2; - private readonly AmazonLambdaClient _lambdaClient; - private readonly AmazonIdentityManagementServiceClient _iamClient; - private string _executionRoleArn; - - private readonly string _functionName; - private readonly string _imageUri; - private const string TestIdentifier = "image-function-tests"; - private bool _disposed = false; - - public ImageFunctionTests() - { - _functionName = $"{TestIdentifier}-{Guid.NewGuid()}"; - var lambdaConfig = new AmazonLambdaConfig() - { - RegionEndpoint = TestRegion - }; - _lambdaClient = new AmazonLambdaClient(lambdaConfig); - _iamClient = new AmazonIdentityManagementServiceClient(TestRegion); - _executionRoleArn = Environment.GetEnvironmentVariable("AWS_LAMBDA_SMOKETESTS_LAMBDA_ROLE"); - _imageUri = Environment.GetEnvironmentVariable("AWS_LAMBDA_IMAGE_URI"); - - Assert.NotNull(_executionRoleArn); - Assert.NotNull(_imageUri); - - SetupAsync().GetAwaiter().GetResult(); - } - - [Theory] - [InlineData("ImageFunction::ImageFunction.Function::ToUpper", "message", "MESSAGE")] - [InlineData("ImageFunction::ImageFunction.Function::Ping", "ping", "pong")] - [InlineData("ImageFunction::ImageFunction.Function::HttpsWorksAsync", "", "SUCCESS")] - [InlineData("ImageFunction::ImageFunction.Function::VerifyLambdaContext", "", "SUCCESS")] - [InlineData("ImageFunction::ImageFunction.Function::VerifyTzData", "", "SUCCESS")] - public async Task SuccessfulTests(string handler, string input, string expectedResponse) - { - await UpdateHandlerAsync(handler); - - var payload = JsonConvert.SerializeObject(input); - var invokeResponse = await InvokeFunctionAsync(payload); - - Assert.True(invokeResponse.HttpStatusCode == HttpStatusCode.OK); - if(invokeResponse.FunctionError != null) - { - throw new Exception($"Lambda function {handler} failed: {invokeResponse.FunctionError}"); - } - - await using var responseStream = invokeResponse.Payload; - using var sr = new StreamReader(responseStream); - var responseString = JsonConvert.DeserializeObject(await sr.ReadToEndAsync()); - Assert.Equal(expectedResponse, responseString); - } - - [Theory] - [InlineData("ImageFunction::ImageFunction.Function::ThrowExceptionAsync", "", "Exception", "Exception thrown from an async handler.")] - [InlineData("ImageFunction::ImageFunction.Function::ThrowException", "", "Exception", "Exception thrown from a synchronous handler.")] - [InlineData("ImageFunction::ImageFunction.Function::AggregateExceptionNotUnwrappedAsync", "", "AggregateException", "AggregateException thrown from an async handler.")] - [InlineData("ImageFunction::ImageFunction.Function::AggregateExceptionNotUnwrapped", "", "AggregateException", "AggregateException thrown from a synchronous handler.")] - [InlineData("ImageFunction::ImageFunction.Function::TooLargeResponseBody", "", "Function.ResponseSizeTooLarge", - "Response payload size exceeded maximum allowed payload size (6291556 bytes).")] - public async Task ExceptionTests(string handler, string input, string expectedErrorType, string expectedErrorMessage) - { - await UpdateHandlerAsync(handler); - - var payload = JsonConvert.SerializeObject(input); - var invokeResponse = await InvokeFunctionAsync(payload); - Assert.True(invokeResponse.HttpStatusCode == System.Net.HttpStatusCode.OK); - Assert.True(invokeResponse.FunctionError != null); - - await using var responseStream = invokeResponse.Payload; - using var sr = new StreamReader(responseStream); - var exception = (JObject)JsonConvert.DeserializeObject(await sr.ReadToEndAsync()); - Assert.Equal(expectedErrorType, exception["errorType"].ToString()); - Assert.Equal(expectedErrorMessage, exception["errorMessage"].ToString()); - } - - ///