This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit 3f90de93b041fbe3bd1282dfd303a57b16c16123 Author: Andrea Cosentino <[email protected]> AuthorDate: Mon Jul 20 07:26:23 2020 +0200 CAMEL-15292 - CAMEL-AWS2-S3 - Support SSE-C on the consumer's side --- .../apache/camel/component/aws2/s3/AWS2S3Consumer.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/components/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java b/components/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java index b99fe70..445ab93 100644 --- a/components/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java +++ b/components/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java @@ -42,6 +42,7 @@ import software.amazon.awssdk.services.s3.S3Client; import software.amazon.awssdk.services.s3.model.CopyObjectRequest; import software.amazon.awssdk.services.s3.model.DeleteObjectRequest; import software.amazon.awssdk.services.s3.model.GetObjectRequest; +import software.amazon.awssdk.services.s3.model.GetObjectRequest.Builder; import software.amazon.awssdk.services.s3.model.GetObjectResponse; import software.amazon.awssdk.services.s3.model.ListObjectsRequest; import software.amazon.awssdk.services.s3.model.ListObjectsResponse; @@ -129,8 +130,20 @@ public class AWS2S3Consumer extends ScheduledBatchPollingConsumer { Queue<Exchange> answer = new LinkedList<>(); try { for (S3Object s3ObjectSummary : s3ObjectSummaries) { - ResponseInputStream<GetObjectResponse> s3Object = getAmazonS3Client() - .getObject(GetObjectRequest.builder().bucket(getConfiguration().getBucketName()).key(s3ObjectSummary.key()).build(), ResponseTransformer.toInputStream()); + Builder getRequest = GetObjectRequest.builder().bucket(getConfiguration().getBucketName()).key(s3ObjectSummary.key()); + if (getConfiguration().isUseCustomerKey()) { + if (ObjectHelper.isNotEmpty(getConfiguration().getCustomerKeyId())) { + getRequest.sseCustomerKey(getConfiguration().getCustomerKeyId()); + } + if (ObjectHelper.isNotEmpty(getConfiguration().getCustomerKeyMD5())) { + getRequest.sseCustomerKeyMD5(getConfiguration().getCustomerKeyMD5()); + } + if (ObjectHelper.isNotEmpty(getConfiguration().getCustomerAlgorithm())) { + getRequest.sseCustomerAlgorithm(getConfiguration().getCustomerAlgorithm()); + } + } + ResponseInputStream<GetObjectResponse> s3Object = getAmazonS3Client() + .getObject(getRequest.build(), ResponseTransformer.toInputStream()); if (includeS3Object(s3Object)) { s3Objects.add(s3Object);
