jackye1995 commented on code in PR #9385:
URL: https://github.com/apache/iceberg/pull/9385#discussion_r1437796852


##########
aws/src/main/java/org/apache/iceberg/aws/s3/S3FileIOProperties.java:
##########
@@ -749,4 +795,23 @@ public <T extends S3ClientBuilder> void 
applyEndpointConfigurations(T builder) {
       builder.endpointOverride(URI.create(endpoint));
     }
   }
+
+  /**
+   * Add the S3 Access Grants Plugin for an S3 client.
+   *
+   * <p>Sample usage:
+   *
+   * <pre>
+   *     
S3Client.builder().applyMutation(s3FileIOProperties::applyS3AccessGrantsConfigurations)
+   * </pre>
+   */
+  public <T extends S3ClientBuilder> void applyS3AccessGrantsConfigurations(T 
builder) {
+    if (isS3AccessGrantsEnabled) {
+      S3AccessGrantsPlugin s3AccessGrantsPlugin =

Review Comment:
   I think there is an issue we need to handle here. This will force the users 
to have a dependency of the S3AccessGrantsPlugin library, even if they do not 
need this feature. To circumvent this, you can take a look at how we do that 
for things like HTTP client library dependencies: 
https://github.com/apache/iceberg/blob/main/aws/src/main/java/org/apache/iceberg/aws/ApacheHttpClientConfigurations.java.
 By moving all dependencies of a feature to a different class, it can avoid a 
compile time dependency.



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to