Add configurable download method to object_store for enhanced usability #6837
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.
Which issue does this PR close?
Closes #5277
Rationale for this change
The current
get
method inObjectStore
requires users to handle multipart downloads and large file transfers manually, which can be complex and error-prone. This PR proposes a newdownload
method to streamline this process by:This change simplifies the API for users and aligns with the feature request outlined in issue #5277.
What changes are included in this PR?
download
method in theobject_store::local
module.TransferOptions
struct for user-configurable transfer options, such as concurrency, buffer size, and retry limits.download_chunk
: Downloads individual chunks of data.write_multi_chunks
: Writes downloaded chunks to a local file.Are there any user-facing changes?
Yes:
download
method to simplify file downloads from the object store.TransferOptions
struct.download
method.