zakariya-s commented on PR #2976:
URL: https://github.com/apache/iceberg-rust/pull/2976#issuecomment-5300999093

   Thanks @CTTY, the main reason for the trait is that credential 
acquisition/vending isn't really backend specific, and doing it this way avoids 
each backend storage factory reimplementing the REST auth logic (e.g. auth, 
parsing, prefix selection, caching, backoff, etc.). Without the trait, 
`RestCatalog` would have to know or downcast each StorageFactory to configure 
each specific credential loader.
   
   This approach also opens the possibility of non-REST implementations too 
(like Glue/Lake Formation via AWS specific APIs) without doing what Java does 
with having custom credential providers for each backend.
   
   Also Iceberg Java has the backend-specific vended credential providers in 
each of the cloud-specific `FileIO` implementations, whereas we only have a 
generic `FileIO` in iceberg-rust as OpenDAL handles most of it.


-- 
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]

Reply via email to