AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.
This is the response object from the CompleteMultipartUpload operation.
Namespace: Amazon.S3.Model
Assembly: AWSSDK.S3.dll
Version: 3.x.y.z
public class CompleteMultipartUploadResponse : AmazonWebServiceResponse
The CompleteMultipartUploadResponse type exposes the following members
| Name | Description | |
|---|---|---|
|
CompleteMultipartUploadResponse() |
| Name | Type | Description | |
|---|---|---|---|
|
BucketKeyEnabled | System.Nullable<System.Boolean> |
Gets and sets the property BucketKeyEnabled. Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS). |
|
BucketName | System.String |
Gets and sets the property BucketName. The name of the bucket that contains the newly created object. Does not return the access point ARN or access point alias if used. Access points are not supported by directory buckets. |
|
ChecksumCRC32 | System.String |
Gets and sets the property ChecksumCRC32.
The Base64 encoded, 32-bit |
|
ChecksumCRC32C | System.String |
Gets and sets the property ChecksumCRC32C.
The Base64 encoded, 32-bit |
|
ChecksumCRC64NVME | System.String |
Gets and sets the property ChecksumCRC64NVME.
This header can be used as a data integrity check to verify that the data received
is the same data that was originally sent. This header specifies the Base64 encoded,
64-bit |
|
ChecksumSHA1 | System.String |
Gets and sets the property ChecksumSHA1.
The Base64 encoded, 160-bit |
|
ChecksumSHA256 | System.String |
Gets and sets the property ChecksumSHA256.
The Base64 encoded, 256-bit |
|
ChecksumType | Amazon.S3.ChecksumType |
Gets and sets the property ChecksumType.
The checksum type, which determines how part-level checksums are combined to create
an object-level checksum for multipart objects. You can use this header as a data
integrity check to verify that the checksum type that is received is the same checksum
type that was specified during the |
|
ContentLength | System.Int64 | Inherited from Amazon.Runtime.AmazonWebServiceResponse. |
|
ETag | System.String |
Gets and sets the property ETag. Entity tag that identifies the newly created object's data. Objects with different object data will have different entity tags. The entity tag is an opaque string. The entity tag may or may not be an MD5 digest of the object data. If the entity tag is not an MD5 digest of the object data, it will contain one or more nonhexadecimal characters and/or will consist of less than 32 or more than 32 hexadecimal digits. For more information about how the entity tag is calculated, see Checking object integrity in the Amazon S3 User Guide. |
|
Expiration | Amazon.S3.Model.Expiration |
Gets and sets the property Expiration.
If the object expiration is configured, this will contain the expiration date ( This functionality is not supported for directory buckets. |
|
HttpStatusCode | System.Net.HttpStatusCode | Inherited from Amazon.Runtime.AmazonWebServiceResponse. |
|
Key | System.String |
Gets and sets the property Key. The object key of the newly created object. |
|
Location | System.String |
Gets and sets the property Location. The URI that identifies the newly created object. |
|
RequestCharged | Amazon.S3.RequestCharged |
Gets and sets the property RequestCharged. |
|
ResponseMetadata | Amazon.Runtime.ResponseMetadata | Inherited from Amazon.Runtime.AmazonWebServiceResponse. |
|
ServerSideEncryptionKeyManagementServiceKeyId | System.String |
Gets and sets the property ServerSideEncryptionKeyManagementServiceKeyId. If present, indicates the ID of the KMS key that was used for object encryption. |
|
ServerSideEncryptionMethod | Amazon.S3.ServerSideEncryptionMethod |
Gets and sets the property ServerSideEncryptionMethod. The server-side encryption algorithm used when storing this object in Amazon S3.
When accessing data stored in Amazon FSx file systems using S3 access points, the
only valid server side encryption option is |
|
VersionId | System.String |
Gets and sets the property VersionId. Version ID of the newly created object, in case the bucket has versioning turned on. This functionality is not supported for directory buckets. |
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.
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 = "amzn-s3-demo-bucket",
Key = "Item1"
};
InitiateMultipartUploadResponse initResponse = await client.InitiateMultipartUploadAsync(initRequest);
// Upload part 1
UploadPartRequest uploadRequest = new UploadPartRequest
{
BucketName = "amzn-s3-demo-bucket",
Key = "Item1",
UploadId = initResponse.UploadId,
PartNumber = 1,
PartSize = 5 * MB,
InputStream = inputStream
};
UploadPartResponse up1Response = await client.UploadPartAsync(uploadRequest);
// Upload part 2
uploadRequest = new UploadPartRequest
{
BucketName = "amzn-s3-demo-bucket",
Key = "Item1",
UploadId = initResponse.UploadId,
PartNumber = 2,
PartSize = 5 * MB,
InputStream = inputStream
};
UploadPartResponse up2Response = await client.UploadPartAsync(uploadRequest);
// Upload part 3
uploadRequest = new UploadPartRequest
{
BucketName = "amzn-s3-demo-bucket",
Key = "Item1",
UploadId = initResponse.UploadId,
PartNumber = 3,
InputStream = inputStream
};
UploadPartResponse up3Response = await client.UploadPartAsync(uploadRequest);
// List parts for current upload
ListPartsRequest listPartRequest = new ListPartsRequest
{
BucketName = "amzn-s3-demo-bucket",
Key = "Item1",
UploadId = initResponse.UploadId
};
ListPartsResponse listPartResponse = await client.ListPartsAsync(listPartRequest);
Debug.Assert(listPartResponse.Parts.Count == 3);
// Complete the multipart upload
CompleteMultipartUploadRequest compRequest = new CompleteMultipartUploadRequest
{
BucketName = "amzn-s3-demo-bucket",
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 = await client.CompleteMultipartUploadAsync(compRequest);
.NET:
Supported in: 8.0 and newer, Core 3.1
.NET Standard:
Supported in: 2.0
.NET Framework:
Supported in: 4.7.2 and newer