internal UploadDirectoryCommand(TransferUtility utility, TransferUtilityConfig config, TransferUtilityUploadDirectoryRequest request) { this._utility = utility; this._request = request; this._config = config; }
internal UploadDirectoryCommand(TransferUtility utility, TransferUtilityUploadDirectoryRequest request) { this._utility = utility; this._request = request; }
private CmdletOutput UploadFolderToS3(ExecutorContext context) { var cmdletContext = context as CmdletContext; var request = new TransferUtilityUploadDirectoryRequest { Directory = cmdletContext.Folder, BucketName = cmdletContext.BucketName, KeyPrefix = cmdletContext.KeyPrefix, ContentType = cmdletContext.ContentType }; if (cmdletContext.Recurse) { request.SearchOption = SearchOption.AllDirectories; } else { request.SearchOption = SearchOption.TopDirectoryOnly; } if (!string.IsNullOrEmpty(cmdletContext.SearchPattern)) { request.SearchPattern = cmdletContext.SearchPattern; } if (cmdletContext.CannedACL != null) { request.CannedACL = cmdletContext.CannedACL.Value; } if (cmdletContext.StorageClass != null) { request.StorageClass = cmdletContext.StorageClass.Value; } if (cmdletContext.ServerSideEncryptionMethod != null) { request.ServerSideEncryptionMethod = cmdletContext.ServerSideEncryptionMethod.Value; } if (cmdletContext.ServerSideEncryptionKeyManagementServiceKeyId != null) { request.ServerSideEncryptionKeyManagementServiceKeyId = cmdletContext.ServerSideEncryptionKeyManagementServiceKeyId; } if (cmdletContext.TagSet != null) { request.TagSet = new List <Tag>(cmdletContext.TagSet); } request.CalculateContentMD5Header = cmdletContext.CalculateContentMD5Header; AmazonS3Helper.SetExtraRequestFields(request, cmdletContext); CmdletOutput output; using (var tu = new TransferUtility(Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint))) { Utils.Common.WriteVerboseEndpointMessage(this, Client.Config, "Amazon S3 object upload APIs"); var runner = new ProgressRunner(this); var tracker = new UploadFolderProgressTracker(runner, handler => request.UploadDirectoryProgressEvent += handler, cmdletContext.Folder); output = runner.SafeRun(() => tu.UploadDirectory(request), tracker); WriteVerbose(string.Format("Uploaded {0} object(s) to bucket '{1}' from '{2}' with keyprefix '{3}'", tracker.UploadedCount, cmdletContext.BucketName, cmdletContext.Folder, cmdletContext.OriginalKeyPrefix)); } return(output); }