From 4036d071a068220fd0ca777c4e7f7881f8b4acf0 Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Fri, 15 Mar 2024 00:46:15 +0100 Subject: [PATCH 01/14] chore(v2): document use of aws-crt-client (#1092) --- docs/FAQs.md | 92 +++++++++++++++++++++++++++++++- docs/utilities/batch.md | 26 ++++----- docs/utilities/large_messages.md | 85 ++++++++++++++--------------- docs/utilities/parameters.md | 1 + 4 files changed, 147 insertions(+), 57 deletions(-) diff --git a/docs/FAQs.md b/docs/FAQs.md index 99ef40905..78d2413c6 100644 --- a/docs/FAQs.md +++ b/docs/FAQs.md @@ -6,7 +6,7 @@ description: Frequently Asked Questions ## How can I use Powertools for AWS Lambda (Java) with Lombok? -Poweretools uses `aspectj-maven-plugin` to compile-time weave (CTW) aspects into the project. In case you want to use `Lombok` or other compile-time preprocessor for your project, it is required to change `aspectj-maven-plugin` configuration to enable in-place weaving feature. Otherwise the plugin will ignore changes introduced by `Lombok` and will use `.java` files as a source. +Powertools uses `aspectj-maven-plugin` to compile-time weave (CTW) aspects into the project. In case you want to use `Lombok` or other compile-time preprocessor for your project, it is required to change `aspectj-maven-plugin` configuration to enable in-place weaving feature. Otherwise the plugin will ignore changes introduced by `Lombok` and will use `.java` files as a source. To enable in-place weaving feature you need to use following `aspectj-maven-plugin` configuration: @@ -29,7 +29,7 @@ To enable in-place weaving feature you need to use following `aspectj-maven-plug ## How can I use Powertools for AWS Lambda (Java) with Kotlin projects? -Poweretools uses `aspectj-maven-plugin` to compile-time weave (CTW) aspects into the project. When using it with Kotlin projects, it is required to `forceAjcCompile`. +Powertools uses `aspectj-maven-plugin` to compile-time weave (CTW) aspects into the project. When using it with Kotlin projects, it is required to `forceAjcCompile`. No explicit configuration should be required for gradle projects. To enable `forceAjcCompile` you need to use following `aspectj-maven-plugin` configuration: @@ -47,3 +47,91 @@ To enable `forceAjcCompile` you need to use following `aspectj-maven-plugin` con ``` +## How can I use Powertools for AWS Lambda (Java) with the AWS CRT HTTP Client? + +Powertools uses the `url-connection-client` as the default http client. The `url-connection-client` is a lightweight http client, which keeps the impact on Lambda cold starts to a minimum. +With the [announcement](https://aws.amazon.com/blogs/developer/announcing-availability-of-the-aws-crt-http-client-in-the-aws-sdk-for-java-2-x/) of the `aws-crt-client` a new http client has been released, which offers faster SDK startup time and smaller memory footprint. + +Unfortunately, replacing the `url-connection-client` dependency with the `aws-crt-client` will not immediately improve the lambda cold start performance and memory footprint, +as the default version of the dependency contains low level libraries for all target runtimes (linux, macos, windows, etc). + +Using the `aws-crt-client` in your project requires the exclusion of the `url-connection-client` transitive dependency from the powertools dependency. + +```xml + + software.amazon.lambda + powertools-parameters + 1.18.0 + + + software.amazon.awssdk + url-connection-client + + + +``` +Next to adding the `aws-crt-client` and excluding the `aws-crt` dependency (contain all runtime libraries) it's required to set a specific runtime version of the `aws-crt` dependency by specifying the classifier for your specific target runtime. +Specifying the specific target runtime makes sure all other target runtimes are excluded from the jar file, which will result in the benefit of improved cold start times. + +```xml + + + + software.amazon.awssdk + aws-crt-client + 2.23.21 + + + software.amazon.awssdk.crt + aws-crt + + + + + + software.amazon.awssdk.crt + aws-crt + 0.29.9 + linux-x86_64 + + +``` + +After configuring the dependencies it's required to specify the aws sdk http client. +Most modules support a custom sdk client by leveraging the `.withClient()` method on the for instance the Provider singleton: + + ```java hl_lines="11-16 19-20 22" + import static software.amazon.lambda.powertools.parameters.transform.Transformer.base64; + + import com.amazonaws.services.lambda.runtime.Context; + import com.amazonaws.services.lambda.runtime.RequestHandler; + import software.amazon.awssdk.services.ssm.SsmClient; + import software.amazon.lambda.powertools.parameters.ssm.SSMProvider; + + public class RequestHandlerWithParams implements RequestHandler { + + // Get an instance of the SSMProvider. We can provide a custom client here if we want, + // for instance to use the aws crt http client. + SSMProvider ssmProvider = SSMProvider + .builder() + .withClient( + SsmClient.builder() + .httpClient(AwsCrtHttpClient.builder().build()) + .build() + ) + .build(); + + public String handleRequest(String input, Context context) { + // Retrieve a single param + String value = ssmProvider + .get("/my/secret"); + // We might instead want to retrieve multiple parameters at once, returning a Map of key/value pairs + // .getMultiple("/my/secret/path"); + + // Return the result + return value; + } + } + ``` +It has been considered to make the `aws-crt-client` the default http client in Lambda Powertools for Java, as mentioned in [Move SDK http client to CRT](https://github.com/aws-powertools/powertools-lambda-java/issues/1092), +but due to the impact on the developer experience it was decided to stick with the `url-connection-client`. \ No newline at end of file diff --git a/docs/utilities/batch.md b/docs/utilities/batch.md index 6b38b438c..7b571bc6e 100644 --- a/docs/utilities/batch.md +++ b/docs/utilities/batch.md @@ -530,19 +530,19 @@ Handlers can be provided when building the batch processor and are available for For instance for DynamoDB: ```java -BatchMessageHandler handler = new BatchMessageHandlerBuilder() - .withDynamoDbBatchHandler() - .withSuccessHandler((m) -> { - // Success handler receives the raw message - LOGGER.info("Message with sequenceNumber {} was successfully processed", - m.getDynamodb().getSequenceNumber()); - }) - .withFailureHandler((m, e) -> { - // Failure handler receives the raw message and the exception thrown. - LOGGER.info("Message with sequenceNumber {} failed to be processed: {}" - , e.getDynamodb().getSequenceNumber(), e); - }) - .buildWithMessageHander(this::processMessage); + BatchMessageHandler handler = new BatchMessageHandlerBuilder() + .withDynamoDbBatchHandler() + .withSuccessHandler((m) -> { + // Success handler receives the raw message + LOGGER.info("Message with sequenceNumber {} was successfully processed", + m.getDynamodb().getSequenceNumber()); + }) + .withFailureHandler((m, e) -> { + // Failure handler receives the raw message and the exception thrown. + LOGGER.info("Message with sequenceNumber {} failed to be processed: {}" + , e.getDynamodb().getSequenceNumber(), e); + }) + .buildWithMessageHander(this::processMessage); ``` !!! info diff --git a/docs/utilities/large_messages.md b/docs/utilities/large_messages.md index c0c1cd599..2f974c3b5 100644 --- a/docs/utilities/large_messages.md +++ b/docs/utilities/large_messages.md @@ -97,48 +97,49 @@ of amazon-sns-java-extended-client-lib. Depending on your version of Java (either Java 1.8 or 11+), the configuration slightly changes. === "Maven Java 11+" -```xml hl_lines="3-7 16 18 24-27" - -... - -software.amazon.lambda -powertools-large-messages -{{ powertools.version }} - -... - -... - - - -... - -dev.aspectj -aspectj-maven-plugin -1.13.1 - -11 -11 -11 - - -software.amazon.lambda -powertools-large-messages - - - - - - -compile - - - - -... - - -``` + + ```xml hl_lines="3-7 16 18 24-27" + + ... + + software.amazon.lambda + powertools-large-messages + {{ powertools.version }} + + ... + + ... + + + + ... + + dev.aspectj + aspectj-maven-plugin + 1.13.1 + + 11 + 11 + 11 + + + software.amazon.lambda + powertools-large-messages + + + + + + + compile + + + + + ... + + + ``` === "Maven Java 1.8" diff --git a/docs/utilities/parameters.md b/docs/utilities/parameters.md index f72c7704e..46c7e8071 100644 --- a/docs/utilities/parameters.md +++ b/docs/utilities/parameters.md @@ -544,6 +544,7 @@ To simplify the use of the library, you can chain all method calls before a get. .withTransformation(json) // json is a static import from Transformer.json .withDecryption() // enable decryption of the parameter value .get("/my/param", MyObj.class); // finally get the value + ``` ### Create your own Provider You can create your own custom parameter store provider by implementing a handful of classes: From 9715ca825e429206f607e8cc460a700fd79f0a30 Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Sun, 17 Mar 2024 14:13:51 +0100 Subject: [PATCH 02/14] Update docs/FAQs.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Jérôme Van Der Linden <117538+jeromevdl@users.noreply.github.com> --- docs/FAQs.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/FAQs.md b/docs/FAQs.md index 78d2413c6..6e6ed9720 100644 --- a/docs/FAQs.md +++ b/docs/FAQs.md @@ -70,7 +70,8 @@ Using the `aws-crt-client` in your project requires the exclusion of the `url-co ``` -Next to adding the `aws-crt-client` and excluding the `aws-crt` dependency (contain all runtime libraries) it's required to set a specific runtime version of the `aws-crt` dependency by specifying the classifier for your specific target runtime. +Next, add the `aws-crt-client` and exclude the "generic" `aws-crt` dependency (contains all runtime libraries). +Instead, set a specific classifier of the `aws-crt` to use the one for your target runtime: either `linux-x86_64` for a Lambda configured for x86 or `linux-aarch_64` for Lambda using arm64. Specifying the specific target runtime makes sure all other target runtimes are excluded from the jar file, which will result in the benefit of improved cold start times. ```xml From ffdf3cf7842f977884871b177d31c34a2a95a030 Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Sun, 17 Mar 2024 14:15:08 +0100 Subject: [PATCH 03/14] Update docs/FAQs.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Jérôme Van Der Linden <117538+jeromevdl@users.noreply.github.com> --- docs/FAQs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/FAQs.md b/docs/FAQs.md index 6e6ed9720..8eff0d1cb 100644 --- a/docs/FAQs.md +++ b/docs/FAQs.md @@ -72,7 +72,7 @@ Using the `aws-crt-client` in your project requires the exclusion of the `url-co ``` Next, add the `aws-crt-client` and exclude the "generic" `aws-crt` dependency (contains all runtime libraries). Instead, set a specific classifier of the `aws-crt` to use the one for your target runtime: either `linux-x86_64` for a Lambda configured for x86 or `linux-aarch_64` for Lambda using arm64. -Specifying the specific target runtime makes sure all other target runtimes are excluded from the jar file, which will result in the benefit of improved cold start times. +By specifying the specific target runtime, it will avoid other target runtimes to be included in the jar file, which will result in a smaller Lambda package and the benefit of improved cold start times. ```xml From feb36008fce876c34fafd622d027fd31dfc6e1a1 Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Sun, 17 Mar 2024 14:16:30 +0100 Subject: [PATCH 04/14] Update docs/FAQs.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Jérôme Van Der Linden <117538+jeromevdl@users.noreply.github.com> --- docs/FAQs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/FAQs.md b/docs/FAQs.md index 8eff0d1cb..ec373bc8c 100644 --- a/docs/FAQs.md +++ b/docs/FAQs.md @@ -98,7 +98,7 @@ By specifying the specific target runtime, it will avoid other target runtimes t ``` -After configuring the dependencies it's required to specify the aws sdk http client. +After configuring the dependencies, it's required to specify the AWS SDK http client in the code. Most modules support a custom sdk client by leveraging the `.withClient()` method on the for instance the Provider singleton: ```java hl_lines="11-16 19-20 22" From 6985d0a80776763f3d8f6ed14d5a4d2d895a9d2e Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Sun, 17 Mar 2024 15:44:06 +0100 Subject: [PATCH 05/14] chore(v2): improve documentation based on feedback (#1092) --- docs/FAQs.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/docs/FAQs.md b/docs/FAQs.md index ec373bc8c..25dce5ede 100644 --- a/docs/FAQs.md +++ b/docs/FAQs.md @@ -53,7 +53,9 @@ Powertools uses the `url-connection-client` as the default http client. The `url With the [announcement](https://aws.amazon.com/blogs/developer/announcing-availability-of-the-aws-crt-http-client-in-the-aws-sdk-for-java-2-x/) of the `aws-crt-client` a new http client has been released, which offers faster SDK startup time and smaller memory footprint. Unfortunately, replacing the `url-connection-client` dependency with the `aws-crt-client` will not immediately improve the lambda cold start performance and memory footprint, -as the default version of the dependency contains low level libraries for all target runtimes (linux, macos, windows, etc). +as the default version of the dependency contains low level libraries for all target runtimes (Linux, MacOS, Windows, etc). + +### Configuring dependencies Using the `aws-crt-client` in your project requires the exclusion of the `url-connection-client` transitive dependency from the powertools dependency. @@ -98,8 +100,11 @@ By specifying the specific target runtime, it will avoid other target runtimes t ``` -After configuring the dependencies, it's required to specify the AWS SDK http client in the code. -Most modules support a custom sdk client by leveraging the `.withClient()` method on the for instance the Provider singleton: +### Explicitly set the AWS CRT HTTP Client +After configuring the dependencies, it's required to explicitly specify the AWS SDK http client. +Depending on the Powertools module, there is a different way to configure the sdk client. + +The following example shows how to use the Lambda Powertools Parameters module while leveraging the AWS CRT Client. ```java hl_lines="11-16 19-20 22" import static software.amazon.lambda.powertools.parameters.transform.Transformer.base64; @@ -107,12 +112,12 @@ Most modules support a custom sdk client by leveraging the `.withClient()` metho import com.amazonaws.services.lambda.runtime.Context; import com.amazonaws.services.lambda.runtime.RequestHandler; import software.amazon.awssdk.services.ssm.SsmClient; + import software.amazon.awssdk.http.crt.AwsCrtHttpClient; import software.amazon.lambda.powertools.parameters.ssm.SSMProvider; public class RequestHandlerWithParams implements RequestHandler { - // Get an instance of the SSMProvider. We can provide a custom client here if we want, - // for instance to use the aws crt http client. + // Get an instance of the SSMProvider with a custom HTTP client (aws crt). SSMProvider ssmProvider = SSMProvider .builder() .withClient( From 3ee1ac9a1f70734992b097704ea7450a0afc0c3a Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Mon, 18 Mar 2024 14:38:15 +0100 Subject: [PATCH 06/14] Update docs/FAQs.md Co-authored-by: Scott Gerring --- docs/FAQs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/FAQs.md b/docs/FAQs.md index 25dce5ede..935f92cff 100644 --- a/docs/FAQs.md +++ b/docs/FAQs.md @@ -49,7 +49,7 @@ To enable `forceAjcCompile` you need to use following `aspectj-maven-plugin` con ## How can I use Powertools for AWS Lambda (Java) with the AWS CRT HTTP Client? -Powertools uses the `url-connection-client` as the default http client. The `url-connection-client` is a lightweight http client, which keeps the impact on Lambda cold starts to a minimum. +Powertools uses the `url-connection-client` as the default HTTP client. The `url-connection-client` is a lightweight HTTP client, which keeps the impact on Lambda cold starts to a minimum. With the [announcement](https://aws.amazon.com/blogs/developer/announcing-availability-of-the-aws-crt-http-client-in-the-aws-sdk-for-java-2-x/) of the `aws-crt-client` a new http client has been released, which offers faster SDK startup time and smaller memory footprint. Unfortunately, replacing the `url-connection-client` dependency with the `aws-crt-client` will not immediately improve the lambda cold start performance and memory footprint, From 9997dec5ff33bad11d497d29c99ad47aa5d3e040 Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Mon, 18 Mar 2024 14:38:47 +0100 Subject: [PATCH 07/14] Update docs/FAQs.md Co-authored-by: Scott Gerring --- docs/FAQs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/FAQs.md b/docs/FAQs.md index 935f92cff..4b4b07fe5 100644 --- a/docs/FAQs.md +++ b/docs/FAQs.md @@ -50,7 +50,7 @@ To enable `forceAjcCompile` you need to use following `aspectj-maven-plugin` con ## How can I use Powertools for AWS Lambda (Java) with the AWS CRT HTTP Client? Powertools uses the `url-connection-client` as the default HTTP client. The `url-connection-client` is a lightweight HTTP client, which keeps the impact on Lambda cold starts to a minimum. -With the [announcement](https://aws.amazon.com/blogs/developer/announcing-availability-of-the-aws-crt-http-client-in-the-aws-sdk-for-java-2-x/) of the `aws-crt-client` a new http client has been released, which offers faster SDK startup time and smaller memory footprint. +With the [announcement](https://aws.amazon.com/blogs/developer/announcing-availability-of-the-aws-crt-http-client-in-the-aws-sdk-for-java-2-x/) of the `aws-crt-client` a new HTTP client has been released, which offers faster SDK startup time and smaller memory footprint. Unfortunately, replacing the `url-connection-client` dependency with the `aws-crt-client` will not immediately improve the lambda cold start performance and memory footprint, as the default version of the dependency contains low level libraries for all target runtimes (Linux, MacOS, Windows, etc). From 1d475be19eb4281d1e0e2c732cf1067ff7ce4071 Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Mon, 18 Mar 2024 14:39:40 +0100 Subject: [PATCH 08/14] Update docs/FAQs.md Co-authored-by: Scott Gerring --- docs/FAQs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/FAQs.md b/docs/FAQs.md index 4b4b07fe5..42ebd10df 100644 --- a/docs/FAQs.md +++ b/docs/FAQs.md @@ -53,7 +53,7 @@ Powertools uses the `url-connection-client` as the default HTTP client. The `url With the [announcement](https://aws.amazon.com/blogs/developer/announcing-availability-of-the-aws-crt-http-client-in-the-aws-sdk-for-java-2-x/) of the `aws-crt-client` a new HTTP client has been released, which offers faster SDK startup time and smaller memory footprint. Unfortunately, replacing the `url-connection-client` dependency with the `aws-crt-client` will not immediately improve the lambda cold start performance and memory footprint, -as the default version of the dependency contains low level libraries for all target runtimes (Linux, MacOS, Windows, etc). +as the default version of the dependency contains native system libraries for all supported runtimes and architectures (Linux, MacOS, Windows, AMD64, ARM64, etc). This makes the CRT client portable, without the user having to consider _where_ their code will run, but comes at the cost of JAR size. ### Configuring dependencies From 7d9caed188dc3df550b7729b45cbd732d4d67248 Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Mon, 18 Mar 2024 14:40:01 +0100 Subject: [PATCH 09/14] Update docs/FAQs.md Co-authored-by: Scott Gerring --- docs/FAQs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/FAQs.md b/docs/FAQs.md index 42ebd10df..320d17173 100644 --- a/docs/FAQs.md +++ b/docs/FAQs.md @@ -74,7 +74,7 @@ Using the `aws-crt-client` in your project requires the exclusion of the `url-co ``` Next, add the `aws-crt-client` and exclude the "generic" `aws-crt` dependency (contains all runtime libraries). Instead, set a specific classifier of the `aws-crt` to use the one for your target runtime: either `linux-x86_64` for a Lambda configured for x86 or `linux-aarch_64` for Lambda using arm64. -By specifying the specific target runtime, it will avoid other target runtimes to be included in the jar file, which will result in a smaller Lambda package and the benefit of improved cold start times. +By specifying the specific target runtime, we prevent other target runtimes from being included in the jar file, resulting in a smaller Lambda package and improved cold start times. ```xml From 712e84ab83edd969e7ee266fbb8fcc7a0e583860 Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Mon, 18 Mar 2024 14:40:25 +0100 Subject: [PATCH 10/14] Update docs/FAQs.md Co-authored-by: Scott Gerring --- docs/FAQs.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/FAQs.md b/docs/FAQs.md index 320d17173..33938f6df 100644 --- a/docs/FAQs.md +++ b/docs/FAQs.md @@ -73,7 +73,9 @@ Using the `aws-crt-client` in your project requires the exclusion of the `url-co ``` Next, add the `aws-crt-client` and exclude the "generic" `aws-crt` dependency (contains all runtime libraries). -Instead, set a specific classifier of the `aws-crt` to use the one for your target runtime: either `linux-x86_64` for a Lambda configured for x86 or `linux-aarch_64` for Lambda using arm64. +Instead, set a specific classifier of the `aws-crt` to use the one for your target runtime: either `linux-x86_64` for a Lambda configured for x86 or `linux-aarch_64` for Lambda using arm64. + +!!! note "You will need to add a separate maven profile to build and debug locally when your development environment does not share the target architecture you are using in Lambda." By specifying the specific target runtime, we prevent other target runtimes from being included in the jar file, resulting in a smaller Lambda package and improved cold start times. ```xml From 1eae68788ed61d3a5002704c7eb9abc8e4b02b15 Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Mon, 18 Mar 2024 14:40:40 +0100 Subject: [PATCH 11/14] Update docs/FAQs.md Co-authored-by: Scott Gerring --- docs/FAQs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/FAQs.md b/docs/FAQs.md index 33938f6df..701034e8e 100644 --- a/docs/FAQs.md +++ b/docs/FAQs.md @@ -103,7 +103,7 @@ By specifying the specific target runtime, we prevent other target runtimes from ``` ### Explicitly set the AWS CRT HTTP Client -After configuring the dependencies, it's required to explicitly specify the AWS SDK http client. +After configuring the dependencies, it's required to explicitly specify the AWS SDK HTTP client. Depending on the Powertools module, there is a different way to configure the sdk client. The following example shows how to use the Lambda Powertools Parameters module while leveraging the AWS CRT Client. From 6a168e6834dcf42f0678abdbda1d113ae1a82d6e Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Mon, 18 Mar 2024 14:40:50 +0100 Subject: [PATCH 12/14] Update docs/FAQs.md Co-authored-by: Scott Gerring --- docs/FAQs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/FAQs.md b/docs/FAQs.md index 701034e8e..ca6af7dd1 100644 --- a/docs/FAQs.md +++ b/docs/FAQs.md @@ -104,7 +104,7 @@ By specifying the specific target runtime, we prevent other target runtimes from ### Explicitly set the AWS CRT HTTP Client After configuring the dependencies, it's required to explicitly specify the AWS SDK HTTP client. -Depending on the Powertools module, there is a different way to configure the sdk client. +Depending on the Powertools module, there is a different way to configure the SDK client. The following example shows how to use the Lambda Powertools Parameters module while leveraging the AWS CRT Client. From 0e42949ce0dc491d7e007008e7cada9a282fa84a Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Mon, 18 Mar 2024 14:41:06 +0100 Subject: [PATCH 13/14] Update docs/FAQs.md Co-authored-by: Scott Gerring --- docs/FAQs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/FAQs.md b/docs/FAQs.md index ca6af7dd1..3690a682e 100644 --- a/docs/FAQs.md +++ b/docs/FAQs.md @@ -141,5 +141,5 @@ The following example shows how to use the Lambda Powertools Parameters module w } } ``` -It has been considered to make the `aws-crt-client` the default http client in Lambda Powertools for Java, as mentioned in [Move SDK http client to CRT](https://github.com/aws-powertools/powertools-lambda-java/issues/1092), +The `aws-crt-client` was considered for adoption as the default HTTP client in Lambda Powertools for Java as mentioned in [Move SDK http client to CRT](https://github.com/aws-powertools/powertools-lambda-java/issues/1092), but due to the impact on the developer experience it was decided to stick with the `url-connection-client`. \ No newline at end of file From 0eb8249537cc34e552fde368a8a06e21f48a063e Mon Sep 17 00:00:00 2001 From: Jeroen Reijn Date: Mon, 18 Mar 2024 22:57:10 +0100 Subject: [PATCH 14/14] Update FAQs.md and set version --- docs/FAQs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/FAQs.md b/docs/FAQs.md index 3690a682e..88aa81c9f 100644 --- a/docs/FAQs.md +++ b/docs/FAQs.md @@ -63,7 +63,7 @@ Using the `aws-crt-client` in your project requires the exclusion of the `url-co software.amazon.lambda powertools-parameters - 1.18.0 + 2.0.0 software.amazon.awssdk