Build Status

download-manager

Boost AWS S3 file download

What is DownloadManager?

It is designed to optimize file downloading from AWS S3 by spliting the file in several parts and downloading each part separately. It gives you the possibility to paralelize this process giving you a performance boost. It will help you when are trying to download large files with poor internet connection: as each part is downloaded and persisted, when the process fails, it will start from where it was left.

Usage

val manager = MultipartDownloadManagerBuilder
    .standard(s3Client, bucketName, keyName, filePath)
    .withPartThreshold( 1024 * 1024 * 20L ) /* size (bytes) of each part */
    .withParallelResolution( true )
    .withLogReport( true )
    .build()

manager.download()

Gradle

repositories {
    maven {
        url = uri("https://maven.pkg.github.com/eferraris/download-manager")
        credentials {
            username = project.findProperty("gpr.user") as String? ?: System.getenv("GITHUB_USERNAME")
            password = project.findProperty("gpr.key") as String? ?: System.getenv("GITHUB_TOKEN")
        }
    }
}

dependencies {
    implementation("com.eferraris:download-manager:1.1.3")
}

GitHub

View Github