Container for the parameters to the CompleteMultipartUpload operation.
Completes a multipart upload by assembling previously uploaded parts.
Inheritance Hierarchy
Namespace: Amazon.S3.Model
Assembly: AWSSDK.dll
Version: 2.0.0.3
Syntax
public class CompleteMultipartUploadRequest : AmazonWebServiceRequest IRequestEvents
The CompleteMultipartUploadRequest type exposes the following members
Constructors
Name | Description | |
---|---|---|
![]() |
CompleteMultipartUploadRequest() |
Properties
Name | Description | |
---|---|---|
![]() |
BucketName | The name of the bucketName containing the S3 object that was being uploaded in parts. |
![]() |
Key | The key of the S3 object that was being uploaded. |
![]() |
PartETags | A collection of part numbers and corresponding etags. |
![]() |
UploadId | The upload id for the in-progress multipart upload that should be completed. |
Methods
Name | Description | |
---|---|---|
![]() |
AddPartETags(PartETag[]) | Adds a collection of part numbers and corresponding etags. |
![]() |
AddPartETags(IEnumerable`1) | |
![]() |
AddPartETags(UploadPartResponse[]) | Adds a collection of part numbers and corresponding etags by transforming the UploadPartResponses into PartETags. |
![]() |
AddPartETags(IEnumerable`1) |
Examples
This example shows how to upload 13MB of data using mutlipart upload.
The data is contained in a stream and the upload is done in 3 parts:
5MB, 5MB, then the remainder.
Multipart Upload Sample
int MB = (int)Math.Pow(2, 20); // Create a client AmazonS3Client client = new AmazonS3Client(); // Define input stream Stream inputStream = Create13MBDataStream(); // Initiate multipart upload InitiateMultipartUploadRequest initRequest = new InitiateMultipartUploadRequest { BucketName = "SampleBucket", Key = "Item1" }; InitiateMultipartUploadResponse initResponse = client.InitiateMultipartUpload(initRequest); // Upload part 1 UploadPartRequest uploadRequest = new UploadPartRequest { BucketName = "SampleBucket", Key = "Item1", UploadId = initResponse.UploadId, PartNumber = 1, PartSize = 5 * MB, InputStream = inputStream }; UploadPartResponse up1Response = client.UploadPart(uploadRequest); // Upload part 2 uploadRequest = new UploadPartRequest { BucketName = "SampleBucket", Key = "Item1", UploadId = initResponse.UploadId, PartNumber = 2, PartSize = 5 * MB, InputStream = inputStream }; UploadPartResponse up2Response = client.UploadPart(uploadRequest); // Upload part 3 uploadRequest = new UploadPartRequest { BucketName = "SampleBucket", Key = "Item1", UploadId = initResponse.UploadId, PartNumber = 3, InputStream = inputStream }; UploadPartResponse up3Response = client.UploadPart(uploadRequest); // List parts for current upload ListPartsRequest listPartRequest = new ListPartsRequest { BucketName = "SampleBucket", Key = "Item1", UploadId = initResponse.UploadId }; ListPartsResponse listPartResponse = client.ListParts(listPartRequest); Debug.Assert(listPartResponse.Parts.Count == 3); // Complete the multipart upload CompleteMultipartUploadRequest compRequest = new CompleteMultipartUploadRequest { BucketName = "SampleBucket", Key = "Item1", UploadId = initResponse.UploadId, PartETags = new List<PartETag> { new PartETag { ETag = up1Response.ETag, PartNumber = 1 }, new PartETag { ETag = up2Response.ETag, PartNumber = 2 }, new PartETag { ETag = up3Response.ETag, PartNumber = 3 } } }; CompleteMultipartUploadResponse compResponse = client.CompleteMultipartUpload(compRequest);
Version Information
.NET Framework:
Supported in: 4.5, 4.0, 3.5
.NET for Windows Store apps:
Supported in: Windows 8
.NET for Windows Phone:
Supported in: Window Phone 8