From ba2e663ca09c61b250915324d5e4381ff456bef2 Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Fri, 22 Dec 2023 09:41:52 +0100 Subject: [PATCH 01/12] Migrate the large message module to use aws crt client --- docs/utilities/large_messages.md | 2 +- pom.xml | 7 ++++++- powertools-large-messages/pom.xml | 4 +--- .../powertools/largemessages/LargeMessageConfig.java | 4 ++-- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/docs/utilities/large_messages.md b/docs/utilities/large_messages.md index c0c1cd599..3df50b15e 100644 --- a/docs/utilities/large_messages.md +++ b/docs/utilities/large_messages.md @@ -370,7 +370,7 @@ To interact with S3, the utility creates a default S3 Client : === "Default S3 Client" ```java S3Client client = S3Client.builder() - .httpClient(UrlConnectionHttpClient.builder().build()) + .httpClient(AwsCrtHttpClient.builder().build()) .region(Region.of(System.getenv(AWS_REGION_ENV))) .build(); ``` diff --git a/pom.xml b/pom.xml index a4df4116a..7e1f71f95 100644 --- a/pom.xml +++ b/pom.xml @@ -90,7 +90,7 @@ 2.22.0 2.0.7 2.15.3 - 2.21.0 + 2.22.0 2.14.0 2.1.3 UTF-8 @@ -185,6 +185,11 @@ url-connection-client ${aws.sdk.version} + + software.amazon.awssdk + aws-crt-client + ${aws.sdk.version} + io.burt jmespath-jackson diff --git a/powertools-large-messages/pom.xml b/powertools-large-messages/pom.xml index 4206183de..5c9c07d25 100644 --- a/powertools-large-messages/pom.xml +++ b/powertools-large-messages/pom.xml @@ -77,10 +77,8 @@ software.amazon.awssdk - url-connection-client - ${aws.sdk.version} + aws-crt-client - org.junit.jupiter diff --git a/powertools-large-messages/src/main/java/software/amazon/lambda/powertools/largemessages/LargeMessageConfig.java b/powertools-large-messages/src/main/java/software/amazon/lambda/powertools/largemessages/LargeMessageConfig.java index 6ad529496..8688fa52a 100644 --- a/powertools-large-messages/src/main/java/software/amazon/lambda/powertools/largemessages/LargeMessageConfig.java +++ b/powertools-large-messages/src/main/java/software/amazon/lambda/powertools/largemessages/LargeMessageConfig.java @@ -16,7 +16,7 @@ import static software.amazon.lambda.powertools.common.internal.LambdaConstants.AWS_REGION_ENV; -import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient; +import software.amazon.awssdk.http.crt.AwsCrtHttpClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3.S3Client; import software.amazon.awssdk.services.s3.S3ClientBuilder; @@ -74,7 +74,7 @@ void resetS3Client() { public S3Client getS3Client() { if (this.s3Client == null) { S3ClientBuilder s3ClientBuilder = S3Client.builder() - .httpClient(UrlConnectionHttpClient.builder().build()) + .httpClient(AwsCrtHttpClient.builder().build()) .region(Region.of(System.getenv(AWS_REGION_ENV))); this.s3Client = s3ClientBuilder.build(); } From 45a0e9547ad4fbd6e8d7a0399de729f4940bc5b9 Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Fri, 22 Dec 2023 09:49:15 +0100 Subject: [PATCH 02/12] Migrate idempotency to use the aws crt client --- docs/utilities/idempotency.md | 6 +++--- powertools-idempotency/pom.xml | 10 ++++++++-- .../persistence/DynamoDBPersistenceStore.java | 6 +++--- .../lambda/powertools/idempotency/DynamoDBConfig.java | 4 ++-- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/docs/utilities/idempotency.md b/docs/utilities/idempotency.md index 5392b8d4c..4d59f97f4 100644 --- a/docs/utilities/idempotency.md +++ b/docs/utilities/idempotency.md @@ -879,7 +879,7 @@ When creating the `DynamoDBPersistenceStore`, you can set a custom [`DynamoDbCli ```java DynamoDbClient.builder() .credentialsProvider(EnvironmentVariableCredentialsProvider.create()) - .httpClient(UrlConnectionHttpClient.builder().build()) + .httpClient(AwsCrtHttpClient.builder().build()) .region(Region.of(System.getenv(AWS_REGION_ENV))) .build(); ``` @@ -1073,7 +1073,7 @@ To unit test your function with DynamoDB Local, you can refer to this guide to [ // Initialize DynamoDBClient client = DynamoDbClient.builder() - .httpClient(UrlConnectionHttpClient.builder().build()) + .httpClient(AwsCrtHttpClient.builder().build()) .region(Region.EU_WEST_1) .endpointOverride(URI.create("http://localhost:" + port)) .credentialsProvider(StaticCredentialsProvider.create( @@ -1151,7 +1151,7 @@ To unit test your function with DynamoDB Local, you can refer to this guide to [ public App() { DynamoDbClientBuilder ddbBuilder = DynamoDbClient.builder() .credentialsProvider(EnvironmentVariableCredentialsProvider.create()) - .httpClient(UrlConnectionHttpClient.builder().build()); + .httpClient(AwsCrtHttpClient.builder().build()); if (System.getenv("AWS_SAM_LOCAL") != null) { ddbBuilder.endpointOverride(URI.create("http://dynamo:8000")); diff --git a/powertools-idempotency/pom.xml b/powertools-idempotency/pom.xml index fd53cd9e2..592c5cf0a 100644 --- a/powertools-idempotency/pom.xml +++ b/powertools-idempotency/pom.xml @@ -64,10 +64,10 @@ + software.amazon.awssdk - url-connection-client - ${aws.sdk.version} + aws-crt-client @@ -112,6 +112,12 @@ [1.12,2.0) test + + + software.amazon.awssdk + url-connection-client + test + io.github.ganadist.sqlite4java diff --git a/powertools-idempotency/src/main/java/software/amazon/lambda/powertools/idempotency/persistence/DynamoDBPersistenceStore.java b/powertools-idempotency/src/main/java/software/amazon/lambda/powertools/idempotency/persistence/DynamoDBPersistenceStore.java index 054f61ef3..cf0d41c1c 100644 --- a/powertools-idempotency/src/main/java/software/amazon/lambda/powertools/idempotency/persistence/DynamoDBPersistenceStore.java +++ b/powertools-idempotency/src/main/java/software/amazon/lambda/powertools/idempotency/persistence/DynamoDBPersistenceStore.java @@ -29,7 +29,7 @@ import org.slf4j.LoggerFactory; import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration; import software.amazon.awssdk.core.client.config.SdkAdvancedClientOption; -import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient; +import software.amazon.awssdk.http.crt.AwsCrtHttpClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.dynamodb.DynamoDbClient; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; @@ -94,7 +94,7 @@ private DynamoDBPersistenceStore(String tableName, String idempotencyDisabledEnv = System.getenv().get(Constants.IDEMPOTENCY_DISABLED_ENV); if (idempotencyDisabledEnv == null || "false".equalsIgnoreCase(idempotencyDisabledEnv)) { this.dynamoDbClient = DynamoDbClient.builder() - .httpClient(UrlConnectionHttpClient.builder().build()) + .httpClient(AwsCrtHttpClient.builder().build()) .overrideConfiguration(ClientOverrideConfiguration.builder() .putAdvancedOption(SdkAdvancedClientOption.USER_AGENT_SUFFIX, UserAgentConfigurator.getUserAgent(IDEMPOTENCY)).build()) @@ -419,7 +419,7 @@ public Builder withValidationAttr(String validationAttr) { /** * Custom {@link DynamoDbClient} used to query DynamoDB (optional).
- * The default one uses {@link UrlConnectionHttpClient} as a http client and + * The default one uses {@link AwsCrtHttpClient} as a http client and * add com.amazonaws.xray.interceptors.TracingInterceptor (X-Ray) if available in the classpath. * * @param dynamoDbClient the {@link DynamoDbClient} instance to use diff --git a/powertools-idempotency/src/test/java/software/amazon/lambda/powertools/idempotency/DynamoDBConfig.java b/powertools-idempotency/src/test/java/software/amazon/lambda/powertools/idempotency/DynamoDBConfig.java index 66ddb53ac..8775a3c20 100644 --- a/powertools-idempotency/src/test/java/software/amazon/lambda/powertools/idempotency/DynamoDBConfig.java +++ b/powertools-idempotency/src/test/java/software/amazon/lambda/powertools/idempotency/DynamoDBConfig.java @@ -23,7 +23,7 @@ import org.junit.jupiter.api.BeforeAll; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; -import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient; +import software.amazon.awssdk.http.crt.AwsCrtHttpClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.dynamodb.DynamoDbClient; import software.amazon.awssdk.services.dynamodb.model.AttributeDefinition; @@ -55,7 +55,7 @@ public static void setupDynamo() { } client = DynamoDbClient.builder() - .httpClient(UrlConnectionHttpClient.builder().build()) + .httpClient(AwsCrtHttpClient.builder().build()) .region(Region.EU_WEST_1) .endpointOverride(URI.create("http://localhost:" + port)) .credentialsProvider(StaticCredentialsProvider.create( From 89ab1f69da16648ce31733771f5a5c117a27c374 Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Fri, 22 Dec 2023 10:07:35 +0100 Subject: [PATCH 03/12] Migrate the cloudformation module to use the aws crt client --- powertools-cloudformation/pom.xml | 2 +- .../cloudformation/AbstractCustomResourceHandler.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/powertools-cloudformation/pom.xml b/powertools-cloudformation/pom.xml index e3e4748d6..d5cfa61fe 100644 --- a/powertools-cloudformation/pom.xml +++ b/powertools-cloudformation/pom.xml @@ -40,7 +40,7 @@
software.amazon.awssdk - url-connection-client + aws-crt-client com.amazonaws diff --git a/powertools-cloudformation/src/main/java/software/amazon/lambda/powertools/cloudformation/AbstractCustomResourceHandler.java b/powertools-cloudformation/src/main/java/software/amazon/lambda/powertools/cloudformation/AbstractCustomResourceHandler.java index 7f5b6bb24..95404fd33 100644 --- a/powertools-cloudformation/src/main/java/software/amazon/lambda/powertools/cloudformation/AbstractCustomResourceHandler.java +++ b/powertools-cloudformation/src/main/java/software/amazon/lambda/powertools/cloudformation/AbstractCustomResourceHandler.java @@ -22,7 +22,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import software.amazon.awssdk.http.SdkHttpClient; -import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient; +import software.amazon.awssdk.http.crt.AwsCrtHttpClient; /** * Handler base class providing core functionality for sending responses to custom CloudFormation resources after @@ -40,7 +40,7 @@ public abstract class AbstractCustomResourceHandler * Creates a new Handler that uses the default HTTP client for communicating with custom CloudFormation resources. */ protected AbstractCustomResourceHandler() { - this.client = UrlConnectionHttpClient.create(); + this.client = AwsCrtHttpClient.create(); } /** From 3805dcd82a6332134d2d71439c534024a630b428 Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Fri, 22 Dec 2023 10:13:34 +0100 Subject: [PATCH 04/12] Migrate the parameters module to use the aws crt client --- powertools-parameters/pom.xml | 2 +- .../parameters/appconfig/AppConfigProviderBuilder.java | 4 ++-- .../parameters/dynamodb/DynamoDbProviderBuilder.java | 4 ++-- .../parameters/dynamodb/DynamoDbProviderE2ETest.java | 6 +++--- .../parameters/secrets/SecretsProviderBuilder.java | 4 ++-- .../powertools/parameters/ssm/SSMProviderBuilder.java | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/powertools-parameters/pom.xml b/powertools-parameters/pom.xml index 6c90e30a8..bcc912138 100644 --- a/powertools-parameters/pom.xml +++ b/powertools-parameters/pom.xml @@ -41,7 +41,7 @@ software.amazon.awssdk - url-connection-client + aws-crt-client diff --git a/powertools-parameters/powertools-parameters-appconfig/src/main/java/software/amazon/lambda/powertools/parameters/appconfig/AppConfigProviderBuilder.java b/powertools-parameters/powertools-parameters-appconfig/src/main/java/software/amazon/lambda/powertools/parameters/appconfig/AppConfigProviderBuilder.java index dadacb843..8732d422c 100644 --- a/powertools-parameters/powertools-parameters-appconfig/src/main/java/software/amazon/lambda/powertools/parameters/appconfig/AppConfigProviderBuilder.java +++ b/powertools-parameters/powertools-parameters-appconfig/src/main/java/software/amazon/lambda/powertools/parameters/appconfig/AppConfigProviderBuilder.java @@ -17,7 +17,7 @@ import software.amazon.awssdk.core.SdkSystemSetting; import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration; import software.amazon.awssdk.core.client.config.SdkAdvancedClientOption; -import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient; +import software.amazon.awssdk.http.crt.AwsCrtHttpClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.appconfigdata.AppConfigDataClient; import software.amazon.lambda.powertools.common.internal.UserAgentConfigurator; @@ -55,7 +55,7 @@ public AppConfigProvider build() { // Create a AppConfigDataClient if we haven't been given one if (client == null) { client = AppConfigDataClient.builder() - .httpClientBuilder(UrlConnectionHttpClient.builder()) + .httpClientBuilder(AwsCrtHttpClient.builder()) .region(Region.of(System.getenv(SdkSystemSetting.AWS_REGION.environmentVariable()))) .overrideConfiguration(ClientOverrideConfiguration.builder() .putAdvancedOption(SdkAdvancedClientOption.USER_AGENT_SUFFIX, diff --git a/powertools-parameters/powertools-parameters-dynamodb/src/main/java/software/amazon/lambda/powertools/parameters/dynamodb/DynamoDbProviderBuilder.java b/powertools-parameters/powertools-parameters-dynamodb/src/main/java/software/amazon/lambda/powertools/parameters/dynamodb/DynamoDbProviderBuilder.java index 6b6610ba1..e77f24535 100644 --- a/powertools-parameters/powertools-parameters-dynamodb/src/main/java/software/amazon/lambda/powertools/parameters/dynamodb/DynamoDbProviderBuilder.java +++ b/powertools-parameters/powertools-parameters-dynamodb/src/main/java/software/amazon/lambda/powertools/parameters/dynamodb/DynamoDbProviderBuilder.java @@ -17,7 +17,7 @@ import software.amazon.awssdk.core.SdkSystemSetting; import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration; import software.amazon.awssdk.core.client.config.SdkAdvancedClientOption; -import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient; +import software.amazon.awssdk.http.crt.AwsCrtHttpClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.dynamodb.DynamoDbClient; import software.amazon.lambda.powertools.common.internal.UserAgentConfigurator; @@ -37,7 +37,7 @@ public class DynamoDbProviderBuilder { static DynamoDbClient createClient() { return DynamoDbClient.builder() - .httpClientBuilder(UrlConnectionHttpClient.builder()) + .httpClientBuilder(AwsCrtHttpClient.builder()) .region(Region.of(System.getenv(SdkSystemSetting.AWS_REGION.environmentVariable()))) .overrideConfiguration(ClientOverrideConfiguration.builder() .putAdvancedOption(SdkAdvancedClientOption.USER_AGENT_SUFFIX, diff --git a/powertools-parameters/powertools-parameters-dynamodb/src/test/java/software/amazon/lambda/powertools/parameters/dynamodb/DynamoDbProviderE2ETest.java b/powertools-parameters/powertools-parameters-dynamodb/src/test/java/software/amazon/lambda/powertools/parameters/dynamodb/DynamoDbProviderE2ETest.java index 2695938d8..bcc318228 100644 --- a/powertools-parameters/powertools-parameters-dynamodb/src/test/java/software/amazon/lambda/powertools/parameters/dynamodb/DynamoDbProviderE2ETest.java +++ b/powertools-parameters/powertools-parameters-dynamodb/src/test/java/software/amazon/lambda/powertools/parameters/dynamodb/DynamoDbProviderE2ETest.java @@ -20,7 +20,7 @@ import java.util.Map; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; -import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient; +import software.amazon.awssdk.http.crt.AwsCrtHttpClient; import software.amazon.awssdk.services.dynamodb.DynamoDbClient; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; import software.amazon.awssdk.services.dynamodb.model.PutItemRequest; @@ -45,7 +45,7 @@ public class DynamoDbProviderE2ETest { public DynamoDbProviderE2ETest() { // Create a DDB client to inject test data into our test tables ddbClient = DynamoDbClient.builder() - .httpClientBuilder(UrlConnectionHttpClient.builder()) + .httpClientBuilder(AwsCrtHttpClient.builder()) .build(); @@ -105,7 +105,7 @@ public void TestGetValues() { private DynamoDbProvider makeProvider(String tableName) { return new DynamoDbProvider(new CacheManager(), null, DynamoDbClient.builder() - .httpClientBuilder(UrlConnectionHttpClient.builder()).build(), + .httpClientBuilder(AwsCrtHttpClient.builder()).build(), tableName); } diff --git a/powertools-parameters/powertools-parameters-secrets/src/main/java/software/amazon/lambda/powertools/parameters/secrets/SecretsProviderBuilder.java b/powertools-parameters/powertools-parameters-secrets/src/main/java/software/amazon/lambda/powertools/parameters/secrets/SecretsProviderBuilder.java index 125425200..32220dab9 100644 --- a/powertools-parameters/powertools-parameters-secrets/src/main/java/software/amazon/lambda/powertools/parameters/secrets/SecretsProviderBuilder.java +++ b/powertools-parameters/powertools-parameters-secrets/src/main/java/software/amazon/lambda/powertools/parameters/secrets/SecretsProviderBuilder.java @@ -17,7 +17,7 @@ import software.amazon.awssdk.core.SdkSystemSetting; import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration; import software.amazon.awssdk.core.client.config.SdkAdvancedClientOption; -import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient; +import software.amazon.awssdk.http.crt.AwsCrtHttpClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.secretsmanager.SecretsManagerClient; import software.amazon.lambda.powertools.common.internal.UserAgentConfigurator; @@ -37,7 +37,7 @@ public class SecretsProviderBuilder { private static SecretsManagerClient createClient() { return SecretsManagerClient.builder() - .httpClientBuilder(UrlConnectionHttpClient.builder()) + .httpClientBuilder(AwsCrtHttpClient.builder()) .region(Region.of(System.getenv(SdkSystemSetting.AWS_REGION.environmentVariable()))) .overrideConfiguration(ClientOverrideConfiguration.builder() .putAdvancedOption(SdkAdvancedClientOption.USER_AGENT_SUFFIX, diff --git a/powertools-parameters/powertools-parameters-ssm/src/main/java/software/amazon/lambda/powertools/parameters/ssm/SSMProviderBuilder.java b/powertools-parameters/powertools-parameters-ssm/src/main/java/software/amazon/lambda/powertools/parameters/ssm/SSMProviderBuilder.java index 3b4fff1b3..5e3244a3b 100644 --- a/powertools-parameters/powertools-parameters-ssm/src/main/java/software/amazon/lambda/powertools/parameters/ssm/SSMProviderBuilder.java +++ b/powertools-parameters/powertools-parameters-ssm/src/main/java/software/amazon/lambda/powertools/parameters/ssm/SSMProviderBuilder.java @@ -17,7 +17,7 @@ import software.amazon.awssdk.core.SdkSystemSetting; import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration; import software.amazon.awssdk.core.client.config.SdkAdvancedClientOption; -import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient; +import software.amazon.awssdk.http.crt.AwsCrtHttpClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ssm.SsmClient; import software.amazon.lambda.powertools.common.internal.UserAgentConfigurator; @@ -35,7 +35,7 @@ public class SSMProviderBuilder { private static SsmClient createClient() { return SsmClient.builder() - .httpClientBuilder(UrlConnectionHttpClient.builder()) + .httpClientBuilder(AwsCrtHttpClient.builder()) .region(Region.of(System.getenv(SdkSystemSetting.AWS_REGION.environmentVariable()))) .overrideConfiguration(ClientOverrideConfiguration.builder() .putAdvancedOption(SdkAdvancedClientOption.USER_AGENT_SUFFIX, From 7475bed3f681e5b1e47ebc0a87042aa77201fadd Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Fri, 22 Dec 2023 10:19:25 +0100 Subject: [PATCH 05/12] Migrate the end 2 end tests to use the aws crt client --- .../java/software/amazon/lambda/powertools/e2e/Function.java | 4 ++-- .../java/software/amazon/lambda/powertools/e2e/Function.java | 4 ++-- .../java/software/amazon/lambda/powertools/e2e/Function.java | 4 ++-- powertools-e2e-tests/pom.xml | 2 +- .../java/software/amazon/lambda/powertools/BatchE2ET.java | 4 ++-- .../software/amazon/lambda/powertools/LargeMessageE2ET.java | 4 ++-- .../amazon/lambda/powertools/LargeMessageIdempotentE2ET.java | 4 ++-- .../amazon/lambda/powertools/testutils/Infrastructure.java | 4 ++-- .../lambda/powertools/testutils/lambda/LambdaInvoker.java | 4 ++-- .../lambda/powertools/testutils/metrics/MetricsFetcher.java | 4 ++-- .../lambda/powertools/testutils/tracing/TraceFetcher.java | 4 ++-- 11 files changed, 21 insertions(+), 21 deletions(-) diff --git a/powertools-e2e-tests/handlers/idempotency/src/main/java/software/amazon/lambda/powertools/e2e/Function.java b/powertools-e2e-tests/handlers/idempotency/src/main/java/software/amazon/lambda/powertools/e2e/Function.java index e4c2f2b9a..d098e657a 100644 --- a/powertools-e2e-tests/handlers/idempotency/src/main/java/software/amazon/lambda/powertools/e2e/Function.java +++ b/powertools-e2e-tests/handlers/idempotency/src/main/java/software/amazon/lambda/powertools/e2e/Function.java @@ -21,7 +21,7 @@ import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.util.TimeZone; -import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient; +import software.amazon.awssdk.http.crt.AwsCrtHttpClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.dynamodb.DynamoDbClient; import software.amazon.lambda.powertools.idempotency.Idempotency; @@ -36,7 +36,7 @@ public class Function implements RequestHandler { public Function() { this(DynamoDbClient .builder() - .httpClient(UrlConnectionHttpClient.builder().build()) + .httpClient(AwsCrtHttpClient.builder().build()) .region(Region.of(System.getenv("AWS_REGION"))) .build()); } diff --git a/powertools-e2e-tests/handlers/largemessage/src/main/java/software/amazon/lambda/powertools/e2e/Function.java b/powertools-e2e-tests/handlers/largemessage/src/main/java/software/amazon/lambda/powertools/e2e/Function.java index 36cb9fcd2..34166fe1c 100644 --- a/powertools-e2e-tests/handlers/largemessage/src/main/java/software/amazon/lambda/powertools/e2e/Function.java +++ b/powertools-e2e-tests/handlers/largemessage/src/main/java/software/amazon/lambda/powertools/e2e/Function.java @@ -22,7 +22,7 @@ import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Map; -import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient; +import software.amazon.awssdk.http.crt.AwsCrtHttpClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.dynamodb.DynamoDbClient; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; @@ -40,7 +40,7 @@ public class Function implements RequestHandler { public Function() { if (client == null) { client = DynamoDbClient.builder() - .httpClient(UrlConnectionHttpClient.builder().build()) + .httpClient(AwsCrtHttpClient.builder().build()) .region(Region.of(System.getenv("AWS_REGION"))) .build(); } diff --git a/powertools-e2e-tests/handlers/largemessage_idempotent/src/main/java/software/amazon/lambda/powertools/e2e/Function.java b/powertools-e2e-tests/handlers/largemessage_idempotent/src/main/java/software/amazon/lambda/powertools/e2e/Function.java index 5269b37c9..89ef7f2d1 100644 --- a/powertools-e2e-tests/handlers/largemessage_idempotent/src/main/java/software/amazon/lambda/powertools/e2e/Function.java +++ b/powertools-e2e-tests/handlers/largemessage_idempotent/src/main/java/software/amazon/lambda/powertools/e2e/Function.java @@ -26,7 +26,7 @@ import java.util.HashMap; import java.util.Map; import java.util.TimeZone; -import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient; +import software.amazon.awssdk.http.crt.AwsCrtHttpClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.dynamodb.DynamoDbClient; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; @@ -49,7 +49,7 @@ public class Function implements RequestHandler { public Function() { this(DynamoDbClient .builder() - .httpClient(UrlConnectionHttpClient.builder().build()) + .httpClient(AwsCrtHttpClient.builder().build()) .region(Region.of(System.getenv("AWS_REGION"))) .build()); } diff --git a/powertools-e2e-tests/pom.xml b/powertools-e2e-tests/pom.xml index 9d84ce9f2..09b16a269 100644 --- a/powertools-e2e-tests/pom.xml +++ b/powertools-e2e-tests/pom.xml @@ -90,7 +90,7 @@ software.amazon.awssdk - url-connection-client + aws-crt-client test diff --git a/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/BatchE2ET.java b/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/BatchE2ET.java index c5f74594d..a4cf0045f 100644 --- a/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/BatchE2ET.java +++ b/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/BatchE2ET.java @@ -33,7 +33,7 @@ import org.junit.jupiter.api.Timeout; import software.amazon.awssdk.core.SdkBytes; import software.amazon.awssdk.http.SdkHttpClient; -import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient; +import software.amazon.awssdk.http.crt.AwsCrtHttpClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.dynamodb.DynamoDbClient; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; @@ -52,7 +52,7 @@ import software.amazon.lambda.powertools.utilities.JsonConfig; public class BatchE2ET { - private static final SdkHttpClient httpClient = UrlConnectionHttpClient.builder().build(); + private static final SdkHttpClient httpClient = AwsCrtHttpClient.builder().build(); private static final Region region = Region.of(System.getProperty("AWS_DEFAULT_REGION", "eu-west-1")); private static Infrastructure infrastructure; private static String functionName; diff --git a/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/LargeMessageE2ET.java b/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/LargeMessageE2ET.java index 548a710b8..664a2aad0 100644 --- a/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/LargeMessageE2ET.java +++ b/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/LargeMessageE2ET.java @@ -23,7 +23,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import software.amazon.awssdk.http.SdkHttpClient; -import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient; +import software.amazon.awssdk.http.crt.AwsCrtHttpClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.dynamodb.DynamoDbClient; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; @@ -38,7 +38,7 @@ public class LargeMessageE2ET { private static final Logger LOG = LoggerFactory.getLogger(LargeMessageE2ET.class); - private static final SdkHttpClient httpClient = UrlConnectionHttpClient.builder().build(); + private static final SdkHttpClient httpClient = AwsCrtHttpClient.builder().build(); private static final Region region = Region.of(System.getProperty("AWS_DEFAULT_REGION", "eu-west-1")); private static final S3Client s3Client = S3Client.builder() diff --git a/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/LargeMessageIdempotentE2ET.java b/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/LargeMessageIdempotentE2ET.java index ef342ea13..d56d570da 100644 --- a/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/LargeMessageIdempotentE2ET.java +++ b/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/LargeMessageIdempotentE2ET.java @@ -33,7 +33,7 @@ import org.slf4j.LoggerFactory; import software.amazon.awssdk.core.sync.RequestBody; import software.amazon.awssdk.http.SdkHttpClient; -import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient; +import software.amazon.awssdk.http.crt.AwsCrtHttpClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.dynamodb.DynamoDbClient; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; @@ -49,7 +49,7 @@ public class LargeMessageIdempotentE2ET { private static final Logger LOG = LoggerFactory.getLogger(LargeMessageIdempotentE2ET.class); - private static final SdkHttpClient httpClient = UrlConnectionHttpClient.builder().build(); + private static final SdkHttpClient httpClient = AwsCrtHttpClient.builder().build(); private static final Region region = Region.of(System.getProperty("AWS_DEFAULT_REGION", "eu-west-1")); private static final S3Client s3Client = S3Client.builder() diff --git a/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/testutils/Infrastructure.java b/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/testutils/Infrastructure.java index 28a0f2bb4..5c53f1dbb 100644 --- a/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/testutils/Infrastructure.java +++ b/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/testutils/Infrastructure.java @@ -65,7 +65,7 @@ import software.amazon.awscdk.services.sqs.Queue; import software.amazon.awssdk.core.waiters.WaiterResponse; import software.amazon.awssdk.http.SdkHttpClient; -import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient; +import software.amazon.awssdk.http.crt.AwsCrtHttpClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.cloudformation.CloudFormationClient; import software.amazon.awssdk.services.cloudformation.model.Capability; @@ -138,7 +138,7 @@ private Infrastructure(Builder builder) { this.synthesize(); - this.httpClient = UrlConnectionHttpClient.builder().build(); + this.httpClient = AwsCrtHttpClient.builder().build(); this.region = Region.of(System.getProperty("AWS_DEFAULT_REGION", "eu-west-1")); this.account = StsClient.builder() .httpClient(httpClient) diff --git a/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/testutils/lambda/LambdaInvoker.java b/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/testutils/lambda/LambdaInvoker.java index cf45076bf..30585275a 100644 --- a/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/testutils/lambda/LambdaInvoker.java +++ b/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/testutils/lambda/LambdaInvoker.java @@ -20,7 +20,7 @@ import java.time.Instant; import software.amazon.awssdk.core.SdkBytes; import software.amazon.awssdk.http.SdkHttpClient; -import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient; +import software.amazon.awssdk.http.crt.AwsCrtHttpClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.lambda.LambdaClient; import software.amazon.awssdk.services.lambda.model.InvokeRequest; @@ -28,7 +28,7 @@ import software.amazon.awssdk.services.lambda.model.LogType; public class LambdaInvoker { - private static final SdkHttpClient httpClient = UrlConnectionHttpClient.builder().build(); + private static final SdkHttpClient httpClient = AwsCrtHttpClient.builder().build(); private static final Region region = Region.of(System.getProperty("AWS_DEFAULT_REGION", "eu-west-1")); private static final LambdaClient lambda = LambdaClient.builder() .httpClient(httpClient) diff --git a/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/testutils/metrics/MetricsFetcher.java b/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/testutils/metrics/MetricsFetcher.java index 00728f451..e7384c969 100644 --- a/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/testutils/metrics/MetricsFetcher.java +++ b/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/testutils/metrics/MetricsFetcher.java @@ -29,7 +29,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import software.amazon.awssdk.http.SdkHttpClient; -import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient; +import software.amazon.awssdk.http.crt.AwsCrtHttpClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.cloudwatch.CloudWatchClient; import software.amazon.awssdk.services.cloudwatch.model.Dimension; @@ -46,7 +46,7 @@ public class MetricsFetcher { private static final Logger LOG = LoggerFactory.getLogger(MetricsFetcher.class); - private static final SdkHttpClient httpClient = UrlConnectionHttpClient.builder().build(); + private static final SdkHttpClient httpClient = AwsCrtHttpClient.builder().build(); private static final Region region = Region.of(System.getProperty("AWS_DEFAULT_REGION", "eu-west-1")); private static final CloudWatchClient cloudwatch = CloudWatchClient.builder() .httpClient(httpClient) diff --git a/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/testutils/tracing/TraceFetcher.java b/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/testutils/tracing/TraceFetcher.java index 2b5b6e15b..dc4c21d2a 100644 --- a/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/testutils/tracing/TraceFetcher.java +++ b/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/testutils/tracing/TraceFetcher.java @@ -34,7 +34,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import software.amazon.awssdk.http.SdkHttpClient; -import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient; +import software.amazon.awssdk.http.crt.AwsCrtHttpClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.xray.XRayClient; import software.amazon.awssdk.services.xray.model.BatchGetTracesRequest; @@ -53,7 +53,7 @@ public class TraceFetcher { private static final ObjectMapper MAPPER = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); private static final Logger LOG = LoggerFactory.getLogger(TraceFetcher.class); - private static final SdkHttpClient httpClient = UrlConnectionHttpClient.builder().build(); + private static final SdkHttpClient httpClient = AwsCrtHttpClient.builder().build(); private static final Region region = Region.of(System.getProperty("AWS_DEFAULT_REGION", "eu-west-1")); private static final XRayClient xray = XRayClient.builder() .httpClient(httpClient) From e4403a4dc9879d2a7cd405a055b37ec66f0a6975 Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Fri, 22 Dec 2023 10:21:53 +0100 Subject: [PATCH 06/12] Migrate batch example to use the aws crt client --- examples/powertools-examples-batch/pom.xml | 4 ++-- .../src/main/java/org/demo/batch/dynamo/DynamoDBWriter.java | 3 +-- .../main/java/org/demo/batch/kinesis/KinesisBatchSender.java | 4 ++-- .../src/main/java/org/demo/batch/sqs/SqsBatchSender.java | 4 ++-- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/examples/powertools-examples-batch/pom.xml b/examples/powertools-examples-batch/pom.xml index 947f146b3..4badf6915 100644 --- a/examples/powertools-examples-batch/pom.xml +++ b/examples/powertools-examples-batch/pom.xml @@ -14,7 +14,7 @@ 11 11 1.9.20.1 - 2.21.1 + 2.22.0 @@ -50,7 +50,7 @@ software.amazon.awssdk - url-connection-client + aws-crt-client ${sdk.version} diff --git a/examples/powertools-examples-batch/src/main/java/org/demo/batch/dynamo/DynamoDBWriter.java b/examples/powertools-examples-batch/src/main/java/org/demo/batch/dynamo/DynamoDBWriter.java index fc1b0747b..187f1c1a5 100644 --- a/examples/powertools-examples-batch/src/main/java/org/demo/batch/dynamo/DynamoDBWriter.java +++ b/examples/powertools-examples-batch/src/main/java/org/demo/batch/dynamo/DynamoDBWriter.java @@ -16,7 +16,6 @@ import software.amazon.awssdk.enhanced.dynamodb.model.BatchWriteItemEnhancedRequest; import software.amazon.awssdk.enhanced.dynamodb.model.BatchWriteResult; import software.amazon.awssdk.enhanced.dynamodb.model.WriteBatch; -import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient; import software.amazon.awssdk.services.dynamodb.DynamoDbClient; public class DynamoDBWriter implements RequestHandler { @@ -30,7 +29,7 @@ public class DynamoDBWriter implements RequestHandler { public DynamoDBWriter() { random = new SecureRandom(); DynamoDbClient dynamoDbClient = DynamoDbClient.builder() - .httpClientBuilder(UrlConnectionHttpClient.builder()) + .httpClientBuilder(AwsCrtHttpClient.builder()) .build(); enhancedClient = DynamoDbEnhancedClient.builder() diff --git a/examples/powertools-examples-batch/src/main/java/org/demo/batch/kinesis/KinesisBatchSender.java b/examples/powertools-examples-batch/src/main/java/org/demo/batch/kinesis/KinesisBatchSender.java index dadead1a2..38a7e14eb 100644 --- a/examples/powertools-examples-batch/src/main/java/org/demo/batch/kinesis/KinesisBatchSender.java +++ b/examples/powertools-examples-batch/src/main/java/org/demo/batch/kinesis/KinesisBatchSender.java @@ -14,7 +14,7 @@ import org.slf4j.LoggerFactory; import org.demo.batch.model.Product; import software.amazon.awssdk.core.SdkBytes; -import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient; +import software.amazon.awssdk.http.crt.AwsCrtHttpClient; import software.amazon.awssdk.services.kinesis.KinesisClient; import software.amazon.awssdk.services.kinesis.model.PutRecordsRequest; import software.amazon.awssdk.services.kinesis.model.PutRecordsRequestEntry; @@ -36,7 +36,7 @@ public class KinesisBatchSender implements RequestHandler { public SqsBatchSender() { sqsClient = SqsClient.builder() - .httpClient(UrlConnectionHttpClient.create()) + .httpClient(AwsCrtHttpClient.create()) .build(); random = new SecureRandom(); objectMapper = new ObjectMapper(); From 65d129e7d5b22232cbdd563637667ace6d5c4f7b Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Fri, 22 Dec 2023 14:25:45 +0100 Subject: [PATCH 07/12] Migrate batch example to use the aws crt client --- .../src/main/java/org/demo/batch/dynamo/DynamoDBWriter.java | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/powertools-examples-batch/src/main/java/org/demo/batch/dynamo/DynamoDBWriter.java b/examples/powertools-examples-batch/src/main/java/org/demo/batch/dynamo/DynamoDBWriter.java index 187f1c1a5..2daefb7e3 100644 --- a/examples/powertools-examples-batch/src/main/java/org/demo/batch/dynamo/DynamoDBWriter.java +++ b/examples/powertools-examples-batch/src/main/java/org/demo/batch/dynamo/DynamoDBWriter.java @@ -16,6 +16,7 @@ import software.amazon.awssdk.enhanced.dynamodb.model.BatchWriteItemEnhancedRequest; import software.amazon.awssdk.enhanced.dynamodb.model.BatchWriteResult; import software.amazon.awssdk.enhanced.dynamodb.model.WriteBatch; +import software.amazon.awssdk.http.crt.AwsCrtHttpClient; import software.amazon.awssdk.services.dynamodb.DynamoDbClient; public class DynamoDBWriter implements RequestHandler { From 8d392479d9a48304f7926f08332cece240d1026e Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Fri, 22 Dec 2023 23:40:17 +0100 Subject: [PATCH 08/12] Fix issue with missing transformer manager resulting in failing lambda execution --- .../src/main/java/org/demo/parameters/ParametersFunction.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/examples/powertools-examples-parameters/src/main/java/org/demo/parameters/ParametersFunction.java b/examples/powertools-examples-parameters/src/main/java/org/demo/parameters/ParametersFunction.java index 9c3c422cf..7a990d00c 100644 --- a/examples/powertools-examples-parameters/src/main/java/org/demo/parameters/ParametersFunction.java +++ b/examples/powertools-examples-parameters/src/main/java/org/demo/parameters/ParametersFunction.java @@ -35,6 +35,7 @@ import software.amazon.lambda.powertools.parameters.secrets.SecretsProvider; import software.amazon.lambda.powertools.parameters.ssm.SSMParam; import software.amazon.lambda.powertools.parameters.ssm.SSMProvider; +import software.amazon.lambda.powertools.parameters.transform.TransformationManager; public class ParametersFunction implements RequestHandler { private static final Logger log = LoggerFactory.getLogger(ParametersFunction.class); @@ -49,9 +50,11 @@ public class ParametersFunction implements RequestHandler Date: Wed, 24 Jan 2024 13:40:52 +0100 Subject: [PATCH 09/12] Remove logging and remote call checkip service to make example more reliable during testing. --- .../demo/parameters/ParametersFunction.java | 39 ++----------------- .../src/main/resources/log4j2.xml | 4 +- 2 files changed, 6 insertions(+), 37 deletions(-) diff --git a/examples/powertools-examples-parameters/src/main/java/org/demo/parameters/ParametersFunction.java b/examples/powertools-examples-parameters/src/main/java/org/demo/parameters/ParametersFunction.java index 7a990d00c..fb9baf39b 100644 --- a/examples/powertools-examples-parameters/src/main/java/org/demo/parameters/ParametersFunction.java +++ b/examples/powertools-examples-parameters/src/main/java/org/demo/parameters/ParametersFunction.java @@ -22,13 +22,8 @@ import com.amazonaws.services.lambda.runtime.RequestHandler; import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent; import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.net.URL; import java.util.HashMap; import java.util.Map; -import java.util.stream.Collectors; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import software.amazon.lambda.powertools.parameters.secrets.SecretsParam; @@ -70,43 +65,17 @@ public class ParametersFunction implements RequestHandler log.info("- {}={}\n", key, value)); - - log.info("\n=============== Secrets Manager ==============="); - log.info("secretjson:"); - secretJson.forEach((key, value) -> log.info("- {}={}\n", key, value)); - log.info("secretjsonobj={}\n", secretJsonObj); - Map headers = new HashMap<>(); headers.put("Content-Type", "application/json"); headers.put("X-Custom-Header", "application/json"); APIGatewayProxyResponseEvent response = new APIGatewayProxyResponseEvent() .withHeaders(headers); - try { - final String pageContents = this.getPageContents("https://checkip.amazonaws.com"); - String output = String.format("{ \"message\": \"hello world\", \"location\": \"%s\" }", pageContents); + String output = "{ \"message\": \"hello world\"}"; - return response - .withStatusCode(200) - .withBody(output); - } catch (IOException e) { - return response - .withBody("{}") - .withStatusCode(500); - } + return response + .withStatusCode(200) + .withBody(output); } - private String getPageContents(String address) throws IOException { - URL url = new URL(address); - try (BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"))) { - return br.lines().collect(Collectors.joining(System.lineSeparator())); - } - } } diff --git a/examples/powertools-examples-parameters/src/main/resources/log4j2.xml b/examples/powertools-examples-parameters/src/main/resources/log4j2.xml index 033da8a11..454d7faf1 100644 --- a/examples/powertools-examples-parameters/src/main/resources/log4j2.xml +++ b/examples/powertools-examples-parameters/src/main/resources/log4j2.xml @@ -2,11 +2,11 @@ - + - + From 91c1166d385cc413ae1b14c32630684e5411ee55 Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Thu, 25 Jan 2024 09:59:18 +0100 Subject: [PATCH 10/12] Add explicit timeout and set Java tools for Java 11 --- examples/powertools-examples-parameters/template.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples/powertools-examples-parameters/template.yaml b/examples/powertools-examples-parameters/template.yaml index 9d3bf8b0e..33134024a 100644 --- a/examples/powertools-examples-parameters/template.yaml +++ b/examples/powertools-examples-parameters/template.yaml @@ -19,9 +19,11 @@ Resources: Handler: org.demo.parameters.ParametersFunction::handleRequest MemorySize: 512 Tracing: Active + Timeout: 60 Environment: Variables: LOG_LEVEL: INFO + JAVA_TOOL_OPTIONS: -XX:+TieredCompilation -XX:TieredStopAtLevel=1 Policies: - AWSSecretsManagerGetSecretValuePolicy: SecretArn: !Ref UserPwd From bd2d21c07e7e923614334cc7752f24c212bff739 Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Thu, 25 Jan 2024 09:59:59 +0100 Subject: [PATCH 11/12] Bump SDK version to 2.23.9 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7e1f71f95..a56731165 100644 --- a/pom.xml +++ b/pom.xml @@ -90,7 +90,7 @@ 2.22.0 2.0.7 2.15.3 - 2.22.0 + 2.23.9 2.14.0 2.1.3 UTF-8 From 7a9dffc4c260f5db52e2cfa86e5abd19791d9f33 Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Thu, 25 Jan 2024 10:03:28 +0100 Subject: [PATCH 12/12] Fix description of template --- examples/powertools-examples-parameters/template.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/powertools-examples-parameters/template.yaml b/examples/powertools-examples-parameters/template.yaml index 33134024a..8e51b5461 100644 --- a/examples/powertools-examples-parameters/template.yaml +++ b/examples/powertools-examples-parameters/template.yaml @@ -1,7 +1,7 @@ AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: > - validation demo + parameters demo Globals: Function: