Provides a high level utility for managing transfers to and from Amazon S3.
TransferUtility provides a simple API for uploading content to and downloading content from Amazon S3. It makes extensive use of Amazon S3 multipart uploads to achieve enhanced throughput, performance, and reliability.
When uploading large files by specifying file paths instead of a stream, TransferUtility uses multiple threads to upload multiple parts of a single upload at once. When dealing with large content sizes and high bandwidth, this can increase throughput significantly.
 Declaration Syntax
 Declaration Syntax| C# | 
public class TransferUtility : IDisposable
 Members
 Members| All Members | Constructors | Methods | Properties | ||
| Icon | Member | Description | 
|---|---|---|
|  | TransferUtility(String, String) | 
            	Constructs a new TransferUtility class.
             | 
|  | TransferUtility(String, String, RegionEndpoint) | 
            	Constructs a new TransferUtility class.
             | 
|  | TransferUtility(String, String, TransferUtilityConfig) | 
            	Constructs a new instance of the TransferUtility class.
             | 
|  | TransferUtility(String, String, RegionEndpoint, TransferUtilityConfig) | 
            	Constructs a new instance of the TransferUtility class.
             | 
|  | TransferUtility(AmazonS3) | 
            	Constructs a new instance of the TransferUtility class.
             | 
|  | TransferUtility(AmazonS3, TransferUtilityConfig) | 
            	Initializes a new instance of the TransferUtility class.
             | 
|  | AbortMultipartUploads(String, DateTime) | 
            	Aborts the multipart uploads that were initiated before the specified date.
             | 
|  | BeginAbortMultipartUploads(String, DateTime, AsyncCallback, Object) | 
            Initiates the asynchronous execution of the AbortMultipartUploads operation. 
             | 
|  | BeginDownload(String, String, String, AsyncCallback, Object) | 
            Initiates the asynchronous execution of the Download operation. 
             | 
|  | BeginDownload(TransferUtilityDownloadRequest, AsyncCallback, Object) | 
            Initiates the asynchronous execution of the Download operation. 
             | 
|  | BeginDownloadDirectory(String, String, String, AsyncCallback, Object) | 
            Initiates the asynchronous execution of the DownloadDirectory operation. 
             | 
|  | BeginDownloadDirectory(TransferUtilityDownloadDirectoryRequest, AsyncCallback, Object) | 
            Initiates the asynchronous execution of the DownloadDirectory operation. 
             | 
|  | BeginOpenStream(String, String, AsyncCallback, Object) | 
            Initiates the asynchronous execution of the OpenStream operation. 
             | 
|  | BeginOpenStream(TransferUtilityOpenStreamRequest, AsyncCallback, Object) | 
            Initiates the asynchronous execution of the OpenStream operation. 
             | 
|  | BeginUpload(String, String, AsyncCallback, Object) | 
            Initiates the asynchronous execution of the Upload operation. 
             | 
|  | BeginUpload(String, String, String, AsyncCallback, Object) | 
            Initiates the asynchronous execution of the Upload operation. 
             | 
|  | BeginUpload(Stream, String, String, AsyncCallback, Object) | 
            Initiates the asynchronous execution of the Upload operation. 
             | 
|  | BeginUpload(TransferUtilityUploadRequest, AsyncCallback, Object) | 
            Initiates the asynchronous execution of the Upload operation. 
             | 
|  | BeginUploadDirectory(String, String, AsyncCallback, Object) | 
            Initiates the asynchronous execution of the UploadDirectory operation. 
             | 
|  | BeginUploadDirectory(String, String, String, SearchOption, AsyncCallback, Object) | 
            Initiates the asynchronous execution of the UploadDirectory operation. 
             | 
|  | BeginUploadDirectory(TransferUtilityUploadDirectoryRequest, AsyncCallback, Object) | 
            Initiates the asynchronous execution of the UploadDirectory operation. 
             | 
|  | Dispose()()()() | 
            	Disposes of resources and initiates garbage collection
            	for the TransferUtility class.
             | 
|  | Download(String, String, String) | 
            	Downloads the content from Amazon S3 and writes it to the specified file.  
            	The object key is derived from the file name.
             | 
|  | Download(TransferUtilityDownloadRequest) | 
            	Downloads the content from Amazon S3 and writes it to the specified file.    
            	If the key is not specified in the request parameter,
            	the file name will used as the key name.
             | 
|  | DownloadDirectory(String, String, String) | 
            	Downloads the objects in Amazon S3 that have a key that starts with the value 
            	specified by s3Directory.
             | 
|  | DownloadDirectory(TransferUtilityDownloadDirectoryRequest) | 
            	Downloads the objects in Amazon S3 that have a key that starts with the value 
            	specified by the S3Directory
            	property of the passed in TransferUtilityDownloadDirectoryRequest object.
             | 
|  | EndAbortMultipartUploads(IAsyncResult) | 
            Finishes the asynchronous execution of the AbortMultipartUploads operation.
             | 
|  | EndDownload(IAsyncResult) | 
            Finishes the asynchronous execution of the Download operation.
             | 
|  | EndDownloadDirectory(IAsyncResult) | 
            Finishes the asynchronous execution of the DownloadDirectory operation.
             | 
|  | EndOpenStream(IAsyncResult) | |
|  | EndUpload(IAsyncResult) | 
            Finishes the asynchronous execution of the Upload operation.
             | 
|  | EndUploadDirectory(IAsyncResult) | 
            Finishes the asynchronous execution of the UploadDirectory operation.
             | 
|  | Equals(Object) | (Inherited from Object.) | 
|  | GetHashCode()()()() | Serves as a hash function for a particular type. (Inherited from Object.) | 
|  | GetType()()()() | Gets the type of the current instance.(Inherited from Object.) | 
|  | OpenStream(String, String) | 
            	Returns a stream from which the caller can read the content from the specified
            	Amazon S3  bucket and key.
            	The caller of this method is responsible for closing the stream.
             | 
|  | OpenStream(TransferUtilityOpenStreamRequest) | 
            	Returns a stream to read the contents from Amazon S3 as 
            	specified by the TransferUtilityOpenStreamRequest.
            	The caller of this method is responsible for closing the stream.
             | 
|  | S3Client | 
            	Gets the Amazon S3 client used for making calls into Amazon S3.
             | 
|  | ToString()()()() | Returns a string that represents the current object.(Inherited from Object.) | 
|  | Upload(String, String) | 
            	Uploads the specified file.  
            	The object key is derived from the file's name.
            	Multiple threads are used to read the file and perform multiple uploads in parallel.  
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
             | 
|  | Upload(String, String, String) | 
            	Uploads the specified file.  
            	Multiple threads are used to read the file and perform multiple uploads in parallel.  
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
             | 
|  | Upload(Stream, String, String) | 
            	Uploads the contents of the specified stream.  
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
             | 
|  | Upload(TransferUtilityUploadRequest) | 
            	Uploads the file or stream specified by the request.  
            	To track the progress of the upload,
            	add an event listener to the request's UploadProgressEvent.
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
             | 
|  | UploadDirectory(String, String) | 
            	Uploads files from a specified directory.  
            	The object key is derived from the file names
            	inside the directory.
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
             | 
|  | UploadDirectory(String, String, String, SearchOption) | 
            	Uploads files from a specified directory.  
            	The object key is derived from the file names
            	inside the directory.
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
             | 
|  | UploadDirectory(TransferUtilityUploadDirectoryRequest) | 
            	Uploads files from a specified directory.  
            	The object key is derived from the file names
            	inside the directory.
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
             | 
 Remarks
 RemarksTransfers are stored in memory. If the application is restarted, previous transfers are no longer accessible. In this situation, if necessary, you should clean up any multipart uploads that are incomplete.
 Inheritance Hierarchy
 Inheritance Hierarchy| Object | |
|  | TransferUtility |