Comments (4)
That makes sense. It used to be one had to list the S3 bucket and then issue batches of download requests which was a pain. Now it looks like TransferManager.downloadDirectory makes that much easier and more efficient.
I'd add keyPrefix
and destDir
properties to S3Download
to indicate a recursive download is desired. Ideally there should also be a timeout
property to abort download transfers that take too long. Finally we should add a progress listener to report progress.
I don't need this functionality myself currently, but it makes sense to have so I may give it a go. In the meantime I'd welcome a pull request that used the transfer manager as above.
from s3-plugin.
Progress is underway in my little fork. I have basic downloading implemented, but still print statements in place of real use of the ProgressListener
, no timeout, and I didn't figure out how to alternately require key/file
or keyPrefix/destDir
rather than all four.
from s3-plugin.
Also, I'm new to groovy and doing this a bit hastily, so the code quality could probably be cleaned up.
from s3-plugin.
@NickMcAvoy Thanks for getting the ball rolling on this. I implemented recursive downloads as described above except for the timeout property which is directly supported on single file downloads but looks like it requires some additional state management for multi-file downloads.
I've tested it with a handful of files. Let me know how it works for you.
from s3-plugin.
Related Issues (9)
- log info messages for uploads and downloads
- apache httpclient issue when used in a subproject
- How to compile this plugin to configure its tasks HOT 1
- Missing Gradle task annotations on S3Download
- Upgrade gradle from v3 -> v8 HOT 9
- remove S3 prefix from recursive downloads HOT 8
- The maven repo address seems to be wrong HOT 1
- Plugin does not appear to see all my project.s3 properties HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from s3-plugin.