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