tustvold commented on issue #3784:
URL: https://github.com/apache/arrow-rs/issues/3784#issuecomment-1451884876

   There a couple of reasons but the most compelling reason is so that the 
abstraction can then be mapped onto stores that don't have a similar 
namespacing concept, e.g. local filesystems. It allows it to expose a pure 
key-value store interface, without complicating it with buckets, regions, etc...
   
   > This makes it very hard to write code where you're dealing with dynamic S3 
sources
   
   I accept that if solely dealing with S3 buckets in the same region with the 
same credentials, this is an overhead. Perhaps we could look to upstream 
something similar to DataFusion's 
[`ObjectStoreRegistry`](https://docs.rs/datafusion/latest/datafusion/datasource/object_store/struct.ObjectStoreRegistry.html)
 and 
[`ObjectStoreProvider`](https://docs.rs/datafusion/latest/datafusion/datasource/object_store/trait.ObjectStoreProvider.html)
   
   > It is a poor API design to require the bucket to be set in the builder per 
client
   
   Are you proposing including the bucket name as an argument for every 
function in the `ObjectStore` API? What would this map to for LocalFileSystem?


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

Reply via email to