Skip to content

Commit 286f2dc

Browse files
authored
Merge branch 'master' into response_bad_request
2 parents 4b6e3eb + 9d88230 commit 286f2dc

File tree

1 file changed

+23
-13
lines changed

1 file changed

+23
-13
lines changed

gxcloudstorage-awss3-v2/src/main/java/com/genexus/db/driver/ExternalProviderS3V2.java

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ private void initialize() throws Exception {
119119
this.folder = folder;
120120

121121
this.client = buildS3Client(accessKey, secretKey, endpointValue, clientRegion);
122-
this.presigner = buildS3Presinger(accessKey, secretKey, clientRegion);
122+
this.presigner = buildS3Presigner(accessKey, secretKey, clientRegion);
123123
bucketExists();
124124
}
125125
}
@@ -129,21 +129,20 @@ private S3Client buildS3Client(String accessKey, String secretKey, String endpoi
129129

130130
boolean bUseIAM = !getPropertyValue(USE_IAM, "", "").isEmpty() || (accessKey.equals("") && secretKey.equals(""));
131131

132-
S3ClientBuilder builder = bUseIAM ?
133-
S3Client.builder() :
134-
S3Client.builder().credentialsProvider(
135-
StaticCredentialsProvider.create(
136-
AwsBasicCredentials.create(accessKey, secretKey)
137-
)
138-
);
132+
S3ClientBuilder builder = bUseIAM
133+
? S3Client.builder().credentialsProvider(DefaultCredentialsProvider.create())
134+
: S3Client.builder().credentialsProvider(
135+
StaticCredentialsProvider.create(
136+
AwsBasicCredentials.create(accessKey, secretKey)
137+
)
138+
);
139139

140140
if (bUseIAM) {
141141
logger.debug("Using IAM Credentials");
142142
}
143143

144144
if (!endpoint.isEmpty() && !endpoint.contains(".amazonaws.com")) {
145145
pathStyleUrls = true;
146-
147146
s3Client = builder
148147
.endpointOverride(URI.create(endpoint))
149148
.region(Region.of(region))
@@ -179,11 +178,22 @@ private S3Client buildS3Client(String accessKey, String secretKey, String endpoi
179178
return s3Client;
180179
}
181180

182-
private S3Presigner buildS3Presinger(String accessKey, String secretKey, String region) {
183-
return S3Presigner.builder()
181+
private S3Presigner buildS3Presigner(String accessKey, String secretKey, String region) {
182+
boolean bUseIAM = !getPropertyValue(USE_IAM, "", "").isEmpty() || (accessKey.equals("") && secretKey.equals(""));
183+
184+
S3Presigner.Builder builder = S3Presigner.builder()
184185
.region(Region.of(region))
185-
.credentialsProvider(StaticCredentialsProvider.create(AwsBasicCredentials.create(accessKey, secretKey)))
186-
.build();
186+
.credentialsProvider(
187+
bUseIAM
188+
? DefaultCredentialsProvider.create()
189+
: StaticCredentialsProvider.create(AwsBasicCredentials.create(accessKey, secretKey))
190+
);
191+
192+
if (bUseIAM) {
193+
logger.debug("Using IAM Credentials for presigner");
194+
}
195+
196+
return builder.build();
187197
}
188198

189199
private void bucketExists() {

0 commit comments

Comments
 (0)