protected override void ProcessRecord() { base.ProcessRecord(); CommitMultipartUploadRequest request; try { request = new CommitMultipartUploadRequest { NamespaceName = NamespaceName, BucketName = BucketName, ObjectName = ObjectName, UploadId = UploadId, CommitMultipartUploadDetails = CommitMultipartUploadDetails, IfMatch = IfMatch, IfNoneMatch = IfNoneMatch, OpcClientRequestId = OpcClientRequestId }; response = client.CommitMultipartUpload(request).GetAwaiter().GetResult(); WriteOutput(response); FinishProcessing(response); } catch (Exception ex) { TerminatingErrorDuringExecution(ex); } }
/// <summary> /// Commits the multi-part upload after all in-progress uploads have completed. /// </summary> /// <returns>CommitMultipartUploadResponse</returns> public async Task <CommitMultipartUploadResponse> Commit() { ValidateState(); _logger.Info("Waiting for the upload parts to complete"); await _transferManager.WaitForCompletion(); _logger.Info("Commiting upload"); if (!_multipartManifest.IsUploadSuccessful()) { throw new InvalidOperationException("One or more parts were have not completed upload successfully"); } var request = new CommitMultipartUploadRequest() { BucketName = _bucketName, ObjectName = _objectName, NamespaceName = _namespaceName, UploadId = _multipartManifest.UploadId, OpcClientRequestId = CreateClientRequestId("Commit"), CommitMultipartUploadDetails = new CommitMultipartUploadDetails() { PartsToCommit = _multipartManifest.ListCompletedParts(), } }; _executorServiceToUse.Dispose(); return(await _service.CommitMultipartUpload(request, _retryConfiguration).ConfigureAwait(false)); }