jackye1995 opened a new pull request #1844: URL: https://github.com/apache/iceberg/pull/1844
As we get some initial feedback for AWS module usage, we notice many users would like to have the ability to use their customzied mechanism to load AWS credential and region because resources like S3 buckets and Glue catalogs are commonly centralized in a single AWS account. In particular, multiple users ask for the support of STS assume role credential provider. So this PR adds the support for loading a custom `AwsClientCredentialsFactory` and `AwsClientRegionFactory` to satisfy all customers need, and use the assume role feature as an example for each factory, so that people can use `AssumeRoleCredentailsFactory` and `AssumeRoleSingleRegionFactory` to assume a role. In addition, we notice that similar to the work done in `FileIO` interface, the introduction of these features require all the related factory interfaces to have the `initialize(Map catalogProperties)` interface to cascadingly pass in the catalog properties. Therefore, we also introduce the `CatalogConfigurable` interface in `iceberg-api` to make the whole thing more organized. There are also asks for configuring AWS client configuration, endpoint override and http client impl, but considering this PR is pretty big, I have separated them into another PR and will publish when this one is merged. ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
