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 UploadPart operation.
Namespace: Amazon.S3.Model
Assembly: AWSSDK.S3.dll
Version: 3.x.y.z
public class UploadPartResponse : AmazonWebServiceResponse
The UploadPartResponse type exposes the following members
| Name | Description | |
|---|---|---|
|
UploadPartResponse() |
| 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). |
|
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 |
|
ContentLength | System.Int64 | Inherited from Amazon.Runtime.AmazonWebServiceResponse. |
|
ETag | System.String |
Gets and sets the property ETag. Entity tag for the uploaded object. |
|
HttpStatusCode | System.Net.HttpStatusCode | Inherited from Amazon.Runtime.AmazonWebServiceResponse. |
|
PartNumber | System.Nullable<System.Int32> |
Gets and sets the property PartNumber. |
|
RequestCharged | Amazon.S3.RequestCharged |
Gets and sets the property RequestCharged. |
|
ResponseMetadata | Amazon.Runtime.ResponseMetadata | Inherited from Amazon.Runtime.AmazonWebServiceResponse. |
|
ServerSideEncryptionMethod | Amazon.S3.ServerSideEncryptionMethod |
Gets and sets the property ServerSideEncryptionMethod. The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.
When accessing data stored in Amazon FSx file systems using S3 access points, the
only valid server side encryption option is |
|
SSECustomerAlgorithm | System.String |
Gets and sets the property SSECustomerAlgorithm. If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used. This functionality is not supported for directory buckets. |
|
SSECustomerKeyMD5 | System.String |
Gets and sets the property SSECustomerKeyMD5. If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide the round-trip message integrity verification of the customer-provided encryption key. This functionality is not supported for directory buckets. |
|
SSEKMSKeyId | System.String |
Gets and sets the property SSEKMSKeyId. If present, indicates the ID of the KMS key that was used for object encryption. |
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