@@ -121,7 +121,7 @@ private void initialize() throws Exception {
121121 this .folder = folder ;
122122
123123 this .client = buildS3Client (accessKey , secretKey , endpointValue , clientRegion );
124- this .presigner = buildS3Presinger (accessKey , secretKey , clientRegion );
124+ this .presigner = buildS3Presigner (accessKey , secretKey , clientRegion );
125125 bucketExists ();
126126 }
127127 }
@@ -131,21 +131,20 @@ private S3Client buildS3Client(String accessKey, String secretKey, String endpoi
131131
132132 boolean bUseIAM = !getPropertyValue (USE_IAM , "" , "" ).isEmpty () || (accessKey .equals ("" ) && secretKey .equals ("" ));
133133
134- S3ClientBuilder builder = bUseIAM ?
135- S3Client .builder () :
136- S3Client .builder ().credentialsProvider (
137- StaticCredentialsProvider .create (
138- AwsBasicCredentials .create (accessKey , secretKey )
139- )
140- );
134+ S3ClientBuilder builder = bUseIAM
135+ ? S3Client .builder (). credentialsProvider ( DefaultCredentialsProvider . create ())
136+ : S3Client .builder ().credentialsProvider (
137+ StaticCredentialsProvider .create (
138+ AwsBasicCredentials .create (accessKey , secretKey )
139+ )
140+ );
141141
142142 if (bUseIAM ) {
143143 logger .debug ("Using IAM Credentials" );
144144 }
145145
146146 if (!endpoint .isEmpty () && !endpoint .contains (".amazonaws.com" )) {
147147 pathStyleUrls = true ;
148-
149148 s3Client = builder
150149 .endpointOverride (URI .create (endpoint ))
151150 .region (Region .of (region ))
@@ -181,11 +180,22 @@ private S3Client buildS3Client(String accessKey, String secretKey, String endpoi
181180 return s3Client ;
182181 }
183182
184- private S3Presigner buildS3Presinger (String accessKey , String secretKey , String region ) {
185- return S3Presigner .builder ()
183+ private S3Presigner buildS3Presigner (String accessKey , String secretKey , String region ) {
184+ boolean bUseIAM = !getPropertyValue (USE_IAM , "" , "" ).isEmpty () || (accessKey .equals ("" ) && secretKey .equals ("" ));
185+
186+ S3Presigner .Builder builder = S3Presigner .builder ()
186187 .region (Region .of (region ))
187- .credentialsProvider (StaticCredentialsProvider .create (AwsBasicCredentials .create (accessKey , secretKey )))
188- .build ();
188+ .credentialsProvider (
189+ bUseIAM
190+ ? DefaultCredentialsProvider .create ()
191+ : StaticCredentialsProvider .create (AwsBasicCredentials .create (accessKey , secretKey ))
192+ );
193+
194+ if (bUseIAM ) {
195+ logger .debug ("Using IAM Credentials for presigner" );
196+ }
197+
198+ return builder .build ();
189199 }
190200
191201 private void bucketExists () {
0 commit comments