Feature Request:Bulk download support
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1.1k
- Forks
- 564
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 29
Description
Overview of the Feature Request
Our current methods for bulk file download from a dataset (requesting a zip or using a ~script to download individual files) are not perfect (zipping on the server side requires work/memory on the server, individual file downloads have to be throttled to handle rate limiting).
For direct download from S3, a faster approach might be to have an api to request download URIs for many/all files at once. This would mean one call to Dataverse which could be followed by parallel calls to the S3 store (which often has good bandwidth/no rate limiting).
The downsides I can see are that this doesn't help for file stores/non-direct download and any script would need to be cognizant of the timeouts for the signed urls (with a timeout of one hour, the script would have to start the download of all files within one hour, or request subsets of files to keep within that window, etc.)
What kind of user is the feature intended for?
(Example users roles: API User, Curator, Depositor, Guest, Superuser, Sysadmin)
downloaders
What inspired the request?
Inspired by a support request at Harvard:
Are you thinking about creating a pull request for this feature?
Not immediately unless there's interest.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by locating the existing dataset bulk-download methods and the direct-download path for S3, then define the API behavior for requesting many download URIs, non-direct-download stores, and signed-URL timeouts. Done means the scope and behavior are agreed, including how callers handle subsets and parallel downloads.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api, backend, cloud
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100