Describe the enhancement requested
Given a URI like s3://bucket/foo/bar.parquet, right now, you can turn that URI into a FileSystem instance + a non-URI path. That is useful, but then the FileSystem APIs don't work with URIs. For instance, it's explicitly rejected here:
| if (internal::IsLikelyUri(s)) { |
| returnStatus::Invalid( |
| "Expected an S3 object path of the form 'bucket/key...', got a URI: '", s, "'"); |
| } |
So if you have a set of URIs and want to work with them with filesystems, you have to parse the URIs yourself. Given we already do the URI munging internally, it might be nice for FileSystem instances to expose a method to parse URIs into a path as well (raising an error if the URI is incompatible).
Component(s)
C++
Describe the enhancement requested
Given a URI like
s3://bucket/foo/bar.parquet, right now, you can turn that URI into a FileSystem instance + a non-URI path. That is useful, but then the FileSystem APIs don't work with URIs. For instance, it's explicitly rejected here:arrow/cpp/src/arrow/filesystem/s3fs.cc
Lines 416 to 419 in 0844924
So if you have a set of URIs and want to work with them with filesystems, you have to parse the URIs yourself. Given we already do the URI munging internally, it might be nice for FileSystem instances to expose a method to parse URIs into a path as well (raising an error if the URI is incompatible).
Component(s)
C++