You need to enable JavaScript to run this app.
Torch Object Storage

Torch Object Storage

Copy page
Download PDF
List Objects
List Incomplete Multipart Uploads (.NET SDK)
Copy page
Download PDF
List Incomplete Multipart Uploads (.NET SDK)
This interface is used to list incomplete multipart uploads in a bucket, returning up to 1,000 results.​
tip​
  • If the IsTruncated field in the response message is set to true, it indicates that there are still multipart uploads that have not been listed.​
  • The KeyMarker and UploadIDMarker request parameters can be used to list additional multipart uploads.​
Notes​
Before listing multipart uploads, you must ensure that your account has the tos:ListBucketMultipartUploads permission for the bucket. For detailed instructions, see IAM policy overview.​
Parameters​
​
Parameter​
Description​
Prefix​
Specify the prefix name for objects to be returned in the listing.​
Delimiter​
Character used to group object names.​
MaxUploads​
Returns the maximum number of multipart uploads.​
Value: Greater than 0 and less than or equal to 1,000​
Default value: 1,000​
EncodingType​
Encode the returned content and specify the encoding type.​
Default value: None​
KeyMarker​
List the starting positions of multipart uploads. Objects are listed in alphabetical order after the specified start. This is typically the value of nextMarker returned by the previous request.​
VersionIdMarker​
Used in conjunction with keyMarker, this parameter specifies that the list of multipart uploads will be returned in lexicographical order after the value provided. Obtain nextVersionIdMarker from the previous listing results.​
​
Sample code​
List a specified number of incomplete multipart uploads​
The following code is used to list up to 10 unmerged multipart uploads in the specified bucket.​
​
using System;​
using TOS;​
using TOS.Error;​
using TOS.Model;​
​
namespace ConsoleApp​
{​
internal class Program​
{​
private static void Main(string[] args)​
{​
var ak = Environment.GetEnvironmentVariable("TOS_ACCESS_KEY");​
var sk = Environment.GetEnvironmentVariable("TOS_SECRET_KEY");​
var endpoint = "your endpoint";​
var region = "your region";​
var bucketName = "*** Provide your bucket name ***";​
​
var client = TosClientBuilder.Builder().SetAk(ak).SetSk(sk).SetEndpoint(endpoint).SetRegion(region).Build();​
​
try​
{​
var listMultipartUploadsInput = new ListMultipartUploadsInput()​
{​
Bucket = bucketName,​
MaxUploads = 10​
};​
var listMultipartUploadsOutput = client.ListMultipartUploads(listMultipartUploadsInput);​
foreach (var upload in listMultipartUploadsOutput.Uploads)​
{​
Console.WriteLine("Object Key: {0}", upload.Key);​
Console.WriteLine("Object UploadID: {0}", upload.UploadID);​
Console.WriteLine("Object Owner: {0}", upload.Owner);​
Console.WriteLine("Object StorageClass: {0}", upload.StorageClass);​
}​
}​
catch (TosServerException ex)​
{​
Console.WriteLine("ListMultipartUploads failed, request id {0}", ex.RequestID);​
Console.WriteLine("ListMultipartUploads failed, status code {0}", ex.StatusCode);​
Console.WriteLine("ListMultipartUploads failed, response error code {0}", ex.Code);​
Console.WriteLine("ListMultipartUploads failed, response error message {0}", ex.Message);​
}​
catch (TosClientException ex)​
{​
Console.WriteLine("ListMultipartUploads failed, error message {0}", ex.Message);​
}​
catch (Exception ex)​
{​
Console.WriteLine("ListMultipartUploads failed, {0}", ex.Message);​
}​
}​
}​
}​
​
List all incomplete multipart uploads with the specified prefix​
The following code is used to list all incomplete multipart uploads under the specified prefix in the specified bucket.​
​
using System;​
using TOS;​
using TOS.Error;​
using TOS.Model;​
​
namespace ConsoleApp​
{​
internal class Program​
{​
private static void Main(string[] args)​
{​
var ak = Environment.GetEnvironmentVariable("TOS_ACCESS_KEY");​
var sk = Environment.GetEnvironmentVariable("TOS_SECRET_KEY");​
var endpoint = "your endpoint";​
var region = "your region";​
var bucketName = "*** Provide your bucket name ***";​
var prefix = "*** Provide your object key prefix ***";​
​
var client = TosClientBuilder.Builder().SetAk(ak).SetSk(sk).SetEndpoint(endpoint).SetRegion(region).Build();​
​
try​
{​
var truncated = true;​
var marker = "";​
​
while (truncated)​
{​
var listMultipartUploadsInput = new ListMultipartUploadsInput()​
{​
Bucket = bucketName,​
MaxUploads = 1000,​
KeyMarker = marker,​
Prefix = prefix​
};​
var listMultipartUploadsOutput = client.ListMultipartUploads(listMultipartUploadsInput);​
foreach (var upload in listMultipartUploadsOutput.Uploads)​
{​
Console.WriteLine("Object Key: {0}", upload.Key);​
Console.WriteLine("Object UploadID: {0}", upload.UploadID);​
Console.WriteLine("Object Owner: {0}", upload.Owner);​
Console.WriteLine("Object StorageClass: {0}", upload.StorageClass);​
}​
​
truncated = listMultipartUploadsOutput.IsTruncated;​
marker = listMultipartUploadsOutput.NextKeyMarker;​
}​
}​
catch (TosServerException ex)​
{​
Console.WriteLine("ListMultipartUploads failed, request id {0}", ex.RequestID);​
Console.WriteLine("ListMultipartUploads failed, status code {0}", ex.StatusCode);​
Console.WriteLine("ListMultipartUploads failed, response error code {0}", ex.Code);​
Console.WriteLine("ListMultipartUploads failed, response error message {0}", ex.Message);​
}​
catch (TosClientException ex)​
{​
Console.WriteLine("ListMultipartUploads failed, error message {0}", ex.Message);​
}​
catch (Exception ex)​
{​
Console.WriteLine("ListMultipartUploads failed, {0}", ex.Message);​
}​
}​
}​
}​
​
List all multipart uploads​
The following code lists all incomplete multipart uploads in the specified bucket.​
​
using System;​
using TOS;​
using TOS.Error;​
using TOS.Model;​
​
namespace ConsoleApp​
{​
internal class Program​
{​
private static void Main(string[] args)​
{​
var ak = Environment.GetEnvironmentVariable("TOS_ACCESS_KEY");​
var sk = Environment.GetEnvironmentVariable("TOS_SECRET_KEY");​
var endpoint = "your endpoint";​
var region = "your region";​
var bucketName = "*** Provide your bucket name ***";​
​
var client = TosClientBuilder.Builder().SetAk(ak).SetSk(sk).SetEndpoint(endpoint).SetRegion(region).Build();​
​
try​
{​
var truncated = true;​
var marker = "";​
​
while (truncated)​
{​
var listMultipartUploadsInput = new ListMultipartUploadsInput()​
{​
Bucket = bucketName,​
MaxUploads = 1000,​
KeyMarker = marker,​
};​
var listMultipartUploadsOutput = client.ListMultipartUploads(listMultipartUploadsInput);​
foreach (var upload in listMultipartUploadsOutput.Uploads)​
{​
Console.WriteLine("Object Key: {0}", upload.Key);​
Console.WriteLine("Object UploadID: {0}", upload.UploadID);​
Console.WriteLine("Object Owner: {0}", upload.Owner);​
Console.WriteLine("Object StorageClass: {0}", upload.StorageClass);​
}​
​
truncated = listMultipartUploadsOutput.IsTruncated;​
marker = listMultipartUploadsOutput.NextKeyMarker;​
}​
}​
catch (TosServerException ex)​
{​
Console.WriteLine("ListMultipartUploads failed, request id {0}", ex.RequestID);​
Console.WriteLine("ListMultipartUploads failed, status code {0}", ex.StatusCode);​
Console.WriteLine("ListMultipartUploads failed, response error code {0}", ex.Code);​
Console.WriteLine("ListMultipartUploads failed, response error message {0}", ex.Message);​
}​
catch (TosClientException ex)​
{​
Console.WriteLine("ListMultipartUploads failed, error message {0}", ex.Message);​
}​
catch (Exception ex)​
{​
Console.WriteLine("ListMultipartUploads failed, {0}", ex.Message);​
}​
}​
}​
}​
​
Related documentation​
For a detailed description of the API for listing multipart uploads, see ListMultipartUploads.​
Last updated: 2026.08.03 10:38:08