Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Of the required methods of the
ObjectStore
trait, they mostly seem pretty straightforward. I'd probably start with implementingdelete
,list
,get_opts
, andcopy
, and leaveput_opts
and especiallyput_multipart_opts
for future work.put_opts
Should be straightforward with
put_file
.put_multipart_opts
Not sure if this one is really possible? At any rate, best to leave as
todo!()
and come back to later.get_opts
This should be pretty easy to implement with
cat_ranges
delete
Easy with
_rm
.list
Should be possible with
_ls
.Would need to ensure we can create an
ObjectMeta
out of the response.list_with_delimiter
Would need to create
common_prefixes
in theListResult
.copy
Should be easy with
copy
copy_if_not_exists
Not sure if fsspec has this natively, but we can fake it (subject to race conditions) by first checking
exists
.get_ranges
ObjectStore::get_ranges
is not a required trait method, but we could implement it if we want the coalescing to happen on the fsspec side rather than the object-store side.cc @martindurant