Package com.amazonaws.services.s3.transfer
package com.amazonaws.services.s3.transfer
Transfer management.
This package provides the TransferManager
class, which
manages a queue of asynchronous transfers. Callers can create a TransferManager instance, sharing
that same instance throughout their application, queue new uploads for TransferManager to process,
and continue working while TransferManager tracks the asynchronous upload progress.
The main benefits of using TransferManager are:
- Simplified API for working with, querying, and manipulating transfers.
- Consistent interface for submitting uploads that abstracts the single part and multipart upload logic.
- Increased throughput when multiple parts of an upload can be uploaded to Amazon S3 in parallel.
The AmazonS3TransferProgress sample included in the AWS SDK for Java demonstrates how to use TransferManager and how to track progress for uploads.
Using TransferManager to upload data to Amazon S3 is easy:
AWSCredentials myCredentials = new BasicAWSCredentials(...);
TransferManager tx = new TransferManager(myCredentials);
Upload myUpload = tx.upload(myBucket, myFile.getName(), myFile);
// You can poll your transfer's status to check its progress
if (myUpload.isDone() == false) {
System.out.println("Transfer: " + myUpload.getDescription());
System.out.println(" - State: " + myUpload.getState());
System.out.println(" - Progress: " + myUpload.getProgress().getBytesTransferred());
}
// Transfers also allow you to set a ProgressListener
to receive
// asynchronous notifications about your transfer's progress.
myUpload.addProgressListener(myProgressListener);
// Or you can block the current thread and wait for your transfer to
// to complete. If the transfer fails, this method will throw an
// AmazonClientException or AmazonServiceException detailing the reason.
myUpload.waitForCompletion();
- See Also:
-
ClassDescriptionRepresents an asynchronous copy request from one Amazon S3 location another.Represents an asynchronous download from Amazon S3.Multiple file download of an entire virtual directory.Multiple file download of an entire virtual directory.This is the callback interface which is used by TransferManager.uploadDirectory and TransferManager.uploadFileList.PauseResult<T>The result of a pause operation.An opaque token that holds some private state and can be used to resume a paused download operation.Abstract base class for the information of a pausible upload or download; such information can be used to resume the upload or download later on, and can be serialized/deserialized for persistence purposes.An opaque token that holds some private state and can be used to resume a paused download operation.Represents an asynchronous upload to or download from Amazon S3.Enumeration of the possible transfer states.High level utility for managing transfers to Amazon S3.Configuration options for how
TransferManager
processes requests.Describes the progress of a transfer.Represents an asynchronous upload to Amazon S3.