From 6bb469c512e7882e018ebefdec710eb6bf609bda Mon Sep 17 00:00:00 2001 From: Pankaj Agrawal Date: Thu, 28 Apr 2022 19:40:43 +0200 Subject: [PATCH 1/2] fix: remove local implementation of PayloadS3Pointer.java and use payloadoffloading-common --- powertools-sqs/pom.xml | 4 ++ .../sqs/internal/SqsLargeMessageAspect.java | 3 +- .../payloadoffloading/PayloadS3Pointer.java | 59 ------------------- 3 files changed, 6 insertions(+), 60 deletions(-) delete mode 100644 powertools-sqs/src/main/java/software/amazon/payloadoffloading/PayloadS3Pointer.java diff --git a/powertools-sqs/pom.xml b/powertools-sqs/pom.xml index bdeafe273..76abe5a93 100644 --- a/powertools-sqs/pom.xml +++ b/powertools-sqs/pom.xml @@ -49,6 +49,10 @@ com.amazonaws aws-lambda-java-core + + software.amazon.payloadoffloading + payloadoffloading-common + com.amazonaws aws-lambda-java-events diff --git a/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/internal/SqsLargeMessageAspect.java b/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/internal/SqsLargeMessageAspect.java index 072d903d0..588d434d7 100644 --- a/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/internal/SqsLargeMessageAspect.java +++ b/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/internal/SqsLargeMessageAspect.java @@ -3,6 +3,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; +import java.util.Optional; import java.util.function.Function; import com.amazonaws.services.lambda.runtime.Context; @@ -68,7 +69,7 @@ public static List processMessages(final List reco for (SQSMessage sqsMessage : records) { if (isBodyLargeMessagePointer(sqsMessage.getBody())) { - PayloadS3Pointer s3Pointer = PayloadS3Pointer.fromJson(sqsMessage.getBody()) + PayloadS3Pointer s3Pointer = Optional.ofNullable(PayloadS3Pointer.fromJson(sqsMessage.getBody())) .orElseThrow(() -> new FailedProcessingLargePayloadException(format("Failed processing SQS body to extract S3 details. [ %s ].", sqsMessage.getBody()))); ResponseInputStream s3Object = callS3Gracefully(s3Pointer, pointer -> { diff --git a/powertools-sqs/src/main/java/software/amazon/payloadoffloading/PayloadS3Pointer.java b/powertools-sqs/src/main/java/software/amazon/payloadoffloading/PayloadS3Pointer.java deleted file mode 100644 index 078b9a773..000000000 --- a/powertools-sqs/src/main/java/software/amazon/payloadoffloading/PayloadS3Pointer.java +++ /dev/null @@ -1,59 +0,0 @@ -package software.amazon.payloadoffloading; - -import java.util.Optional; - -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.SerializationFeature; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import static java.util.Optional.empty; -import static java.util.Optional.ofNullable; - -public class PayloadS3Pointer { - private static final Logger LOG = LoggerFactory.getLogger(PayloadS3Pointer.class); - private static final ObjectMapper objectMapper = new ObjectMapper(); - - private String s3BucketName; - private String s3Key; - - static { - objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); - objectMapper.activateDefaultTyping(objectMapper.getPolymorphicTypeValidator(), ObjectMapper.DefaultTyping.NON_FINAL); - } - - private PayloadS3Pointer() { - - } - - public String getS3BucketName() { - return this.s3BucketName; - } - - public String getS3Key() { - return this.s3Key; - } - - public static Optional fromJson(String s3PointerJson) { - try { - return ofNullable(objectMapper.readValue(s3PointerJson, PayloadS3Pointer.class)); - } catch (Exception e) { - LOG.error("Failed to read the S3 object pointer from given string.", e); - return empty(); - } - } - - public Optional toJson() { - try { - ObjectWriter objectWriter = objectMapper.writer(); - return ofNullable(objectWriter.writeValueAsString(this)); - - } catch (Exception e) { - LOG.error("Failed to convert S3 object pointer to text.", e); - return empty(); - } - } -} From ed3299bda15ebafd68801815f6954fa7788e250e Mon Sep 17 00:00:00 2001 From: Pankaj Agrawal Date: Thu, 28 Apr 2022 19:52:55 +0200 Subject: [PATCH 2/2] chore: upgrade payloadoffloading-common to latest --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index a351ebff5..4f2e5562e 100644 --- a/pom.xml +++ b/pom.xml @@ -60,7 +60,7 @@ 1.9.7 2.17.179 2.11.1 - 1.1.1 + 2.1.2 UTF-8 1.2.1 3.11.0