CompleteMultipartUploadRequest Class

.NET Framework 4.5
 
 
 
Did this page help you?  Yes  No   Tell us about it...
Container for the parameters to the CompleteMultipartUpload operation.

Completes a multipart upload by assembling previously uploaded parts.

Inheritance Hierarchy

System.Object
  Amazon.Runtime.AmazonWebServiceRequest
    Amazon.S3.Model.CompleteMultipartUploadRequest

Namespace: Amazon.S3.Model
Assembly: AWSSDK.dll
Version: 2.0.0.3

Syntax

C#
public class CompleteMultipartUploadRequest : AmazonWebServiceRequest
         IRequestEvents

The CompleteMultipartUploadRequest type exposes the following members

Constructors

  Name Description
Public Method CompleteMultipartUploadRequest()

Properties

  Name Description
Public Property BucketName The name of the bucketName containing the S3 object that was being uploaded in parts.
Public Property Key The key of the S3 object that was being uploaded.
Public Property PartETags A collection of part numbers and corresponding etags.
Public Property UploadId The upload id for the in-progress multipart upload that should be completed.

Methods

  Name Description
Public Method AddPartETags(PartETag[]) Adds a collection of part numbers and corresponding etags.
Public Method AddPartETags(IEnumerable`1)
Public Method AddPartETags(UploadPartResponse[]) Adds a collection of part numbers and corresponding etags by transforming the UploadPartResponses into PartETags.
Public Method 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