/// <summary> /// Initiates the asynchronous execution of the UploadDirectory operation. /// <seealso cref="M:Amazon.S3.Transfer.TransferUtility.UploadDirectory"/> /// </summary> /// <param name="request"> /// The request that contains all the parameters required to upload a directory. /// </param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback procedure using the AsyncState property.</param> /// <exception cref="T:System.ArgumentNullException"></exception> /// <exception cref="T:System.Net.WebException"></exception> /// <exception cref="T:Amazon.S3.AmazonS3Exception"></exception> /// <returns>An IAsyncResult that can be used to poll, or wait for results, or both. /// This value is also needed when invoking EndUploadDirectory.</returns> public IAsyncResult BeginUploadDirectory(TransferUtilityUploadDirectoryRequest request, AsyncCallback callback, object state) { validate(request); UploadDirectoryCommand command = new UploadDirectoryCommand(this, request); return(beginOperation(command, callback, state)); }
/// <summary> /// 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. /// </summary> /// <param name="request"> /// The request that contains all the parameters required to upload a directory. /// </param> public void UploadDirectory(TransferUtilityUploadDirectoryRequest request) { validate(request); UploadDirectoryCommand command = new UploadDirectoryCommand(this, request); command.Execute(); }
private void UploadDirectoryHelper(TransferUtilityUploadDirectoryRequest request) { validate(request); UploadDirectoryCommand command = new UploadDirectoryCommand(this, this._config, request); command.Execute(); }
/// <summary> /// 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. /// </summary> /// <remarks> /// <para> /// If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. /// If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. /// Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able /// to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, /// you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads. /// </para> /// </remarks> /// <param name="request"> /// The request that contains all the parameters required to upload a directory. /// </param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> public Task UploadDirectoryAsync(TransferUtilityUploadDirectoryRequest request, CancellationToken cancellationToken = default(CancellationToken)) { validate(request); UploadDirectoryCommand command = new UploadDirectoryCommand(this, this._config, request); command.UploadFilesConcurrently = request.UploadFilesConcurrently; return(command.ExecuteAsync(cancellationToken)); }