The parameters to start a multi-part upload to S3.
| C# |
public class InitiateMultipartUploadRequest : S3PutWithACLRequest
| All Members | Constructors | Methods | Properties | ||
| Icon | Member | Description |
|---|---|---|
| InitiateMultipartUploadRequest()()()() | Initializes a new instance of the InitiateMultipartUploadRequest class | |
| AddHeader(String, String) |
Adds the header to the collection of headers for the request.
(Inherited from S3Request.) | |
| AddHeaders(NameValueCollection) |
Adds all of the specified key/value pairs into the request headers collection.
(Inherited from S3Request.) | |
| BucketName |
The name of the bucket where the new object will be created, or existing object updated.
| |
| CannedACL |
A canned access control list (ACL) to apply to the object.
Please refer to S3CannedACL for information on S3 Canned ACLs.
| |
| ContentType |
A standard MIME type describing the format of the object data.
| |
| Equals(Object) | (Inherited from Object.) | |
| GetHashCode()()()() | Serves as a hash function for a particular type. (Inherited from Object.) | |
| GetType()()()() | Gets the type of the current instance. (Inherited from Object.) | |
| Grants |
Gets the access control lists (ACLs) for this request.
Please refer to S3Grant for information on
S3 Grants.
(Inherited from S3PutWithACLRequest.) | |
| InputStream |
Input stream for the request; content for the request will be read from the stream.
(Inherited from S3Request.) | |
| Key |
The key of the object to create or update.
| |
| ReadWriteTimeout |
Overrides the default HttpWebRequest ReadWriteTimeout value.
(Inherited from S3Request.) | |
| RemoveCannedACL()()()() |
Resets any existng canned ACL setting to 'none'.
| |
| RemoveMetaData(String) |
Removes a key from the Metadata list if it was added previously.
| |
| ServerSideEncryptionMethod | Specifies the encryption to be used on the server for the new object. Default: None | |
| StorageClass |
StorageClass property for the object.
| |
| Timeout |
Overrides the default HttpWebRequest timeout value.
(Inherited from S3Request.) | |
| ToString()()()() | (Inherited from S3Request.) | |
| WebsiteRedirectLocation |
Sets the WebsiteRedirectLocation property on the new object so that when a GET request
is made from the S3 website endpoint a 301 HTTP status code will be returned indicating
a redirect with the specified value as the redirect location.
| |
| WithBucketName(String) |
Sets the name of the bucket where the new object will be created, or existing object updated.
| |
| WithCannedACL(S3CannedACL) |
Sets a canned access control list (ACL) to apply to the object.
Please refer to S3CannedACL for information on S3 Canned ACLs.
| |
| WithContentType(String) |
Sets a standard MIME type describing the format of the object data.
| |
| WithGrants(array<S3Grant>[]()[][]) |
Adds custom Access Control Lists (ACLs) to the object.
Please refer to S3Grant for information on
S3 Grants.
| |
| WithInputStream(Stream) |
Sets an input stream for the request; content for the request will be read from the stream.
(Inherited from S3Request.) | |
| WithKey(String) |
Sets the key of the object to create or update.
| |
| WithMetaData(String, String) |
Adds a key/value pair to the Metadata property for this request.
The S3 Object that you create will have this metadata associated
with it.
| |
| WithMetaData(NameValueCollection) |
Adds a set of key-value pairs to the request.
The S3 Object that you create will have this metadata associated
with it.
| |
| WithReadWriteTimeout(Int32) |
Overrides the default HttpWebRequest ReadWriteTimeout value.
(Inherited from S3Request.) | |
| WithServerSideEncryptionMethod(ServerSideEncryptionMethod) | Specifies the encryption to be used on the server for the new object. Default: None | |
| WithStorageClass(S3StorageClass) |
Sets the StorageClass property for the object.
| |
| WithTimeout(Int32) |
Overrides the default HttpWebRequest timeout value.
(Inherited from S3Request.) | |
| WithWebsiteRedirectLocation(String) |
Sets the WebsiteRedirectLocation property on the new object so that when a GET request
is made from the S3 website endpoint a 301 HTTP status code will be returned indicating
a redirect with the specified value as the redirect location.
|
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 = "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);
| Object | |||
| S3Request | |||
| S3PutWithACLRequest | |||
| InitiateMultipartUploadRequest | |||