2525import java .security .NoSuchAlgorithmException ;
2626import java .time .Duration ;
2727import java .time .temporal .ChronoUnit ;
28- import java .util .Base64 ;
2928import java .util .HashSet ;
3029import java .util .Set ;
3130
4645import software .amazon .awssdk .auth .credentials .AwsBasicCredentials ;
4746import software .amazon .awssdk .auth .credentials .StaticCredentialsProvider ;
4847import software .amazon .awssdk .core .ResponseInputStream ;
48+ import software .amazon .awssdk .core .checksums .RequestChecksumCalculation ;
4949import software .amazon .awssdk .core .sync .RequestBody ;
5050import software .amazon .awssdk .regions .Region ;
5151import software .amazon .awssdk .services .s3 .S3Client ;
5252import software .amazon .awssdk .services .s3 .S3Configuration ;
53- import software .amazon .awssdk .services .s3 .model .ChecksumAlgorithm ;
5453import software .amazon .awssdk .services .s3 .model .CreateBucketRequest ;
5554import software .amazon .awssdk .services .s3 .model .GetObjectRequest ;
5655import software .amazon .awssdk .services .s3 .model .GetObjectResponse ;
@@ -97,10 +96,11 @@ private void createTestFiles() throws NoSuchAlgorithmException {
9796 // https://github.com/minio/minio/issues/17662
9897 // https://github.com/minio/minio/issues/20845
9998 MessageDigest md = MessageDigest .getInstance ("SHA256" );
100- byte [] hash = md .digest (bytes );
101- String enc64 = Base64 .getEncoder ().encodeToString (hash );
99+ // byte [] hash = md.digest(bytes);
100+ // String enc64 = Base64.getEncoder().encodeToString(hash);
102101 PutObjectRequest request = PutObjectRequest .builder ().bucket (FETCH_BUCKET ).key (nextFileName ).
103- checksumAlgorithm (ChecksumAlgorithm .SHA256 ).checksumSHA256 (enc64 ).build ();
102+ //checksumAlgorithm(ChecksumAlgorithm.SHA256).checksumSHA256(enc64).
103+ build ();
104104 RequestBody requestBody = RequestBody .fromBytes (bytes );
105105 s3Client .putObject (request , requestBody );
106106 }
@@ -122,7 +122,9 @@ private void initializeS3Client() throws URISyntaxException {
122122 // https://github.com/aws/aws-sdk-java-v2/discussions/3536
123123 StaticCredentialsProvider credentialsProvider = StaticCredentialsProvider .create (awsCreds );
124124 S3Configuration s3c = S3Configuration .builder ().pathStyleAccessEnabled (true ).build (); // SO11228792
125- s3Client = S3Client .builder ().serviceConfiguration (s3c ).region (REGION ).
125+ s3Client = S3Client .builder ().
126+ requestChecksumCalculation (RequestChecksumCalculation .WHEN_REQUIRED ). // https://stackoverflow.com/a/79488850/535646
127+ serviceConfiguration (s3c ).region (REGION ).
126128 credentialsProvider (credentialsProvider ).endpointOverride (new URI (MINIO_ENDPOINT )).build ();
127129 }
128130
0 commit comments