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]
