JonasJ-ap commented on code in PR #7066:
URL: https://github.com/apache/iceberg/pull/7066#discussion_r1140701601
##########
aws/src/main/java/org/apache/iceberg/aws/AwsProperties.java:
##########
@@ -1249,6 +1316,47 @@ private boolean s3KeyIdAccessKeyBothConfigured() {
return (s3AccessKeyId == null) == (s3SecretAccessKey == null);
}
+ private AwsCredentialsProvider credentialsProvider(String
credentialsProviderClass) {
Review Comment:
> Just seems weird we have all these methods not really related to
"properties" in properties.
I think one benefit here is to share the property parsing processes and
configurations applying methods among different aws client factories, in a
nicely-looked pattern like
```java
return S3Client.builder()
.applyMutation(awsProperties::applyHttpClientConfigurations)
.applyMutation(awsProperties::applyS3EndpointConfigurations)
.applyMutation(awsProperties::applyS3ServiceConfigurations)
.applyMutation(awsProperties::applyS3CredentialConfigurations)
.applyMutation(awsProperties::applyS3SignerConfiguration)
.build();
```
Given that this design only add a few additional methods in `AwsProperties`,
I think it is currently fine. We may have a further discussion on this if more
complicated configuration logics are added in the future. What do you think?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]