private static void Main(string[] args)
var ak = Environment.GetEnvironmentVariable("TOS_ACCESS_KEY");
var sk = Environment.GetEnvironmentVariable("TOS_SECRET_KEY");
var endpoint = "https://tos-cn-beijing.volces.com";
var region = "cn-beijing";
var bucketName = "*** Provide your bucket name ***";
var objectKey = "*** Provide your object key ***";
var client = TosClientBuilder.Builder().SetAk(ak).SetSk(sk).SetEndpoint(endpoint).SetRegion(region).Build();
var listObjectVersionsInput = new ListObjectVersionsInput()
var listObjectVersionsOutput = client.ListObjectVersions(listObjectVersionsInput);
foreach (var obj in listObjectVersionsOutput.Versions)
var deleteObjectInput = new DeleteObjectInput()
VersionID = obj.VersionID
var deleteObjectOutput = client.DeleteObject(deleteObjectInput);
Console.WriteLine("Delete {0}, Request ID {1}", obj.Key, deleteObjectOutput.RequestID);
foreach (var deleteMarker in listObjectVersionsOutput.DeleteMarkers)
var deleteObjectInput = new DeleteObjectInput()
VersionID = deleteMarker.VersionID
var deleteObjectOutput = client.DeleteObject(deleteObjectInput);
Console.WriteLine("Delete {0}, Request ID {1}", deleteMarker.Key, deleteObjectOutput.RequestID);
isTruncated = listObjectVersionsOutput.IsTruncated;
keyMarker = listObjectVersionsOutput.NextKeyMarker;
var listMultipartUploadsInput = new ListMultipartUploadsInput()
var listMultipartUploadsOutput = client.ListMultipartUploads(listMultipartUploadsInput);
foreach (var upload in listMultipartUploadsOutput.Uploads)
var abortMultipartUploadInput = new AbortMultipartUploadInput()
UploadID = upload.UploadID,
var abortMultipartUploadOutput = client.AbortMultipartUpload(abortMultipartUploadInput);
Console.WriteLine("AbortMultipartUpload UploadID {0}, Request ID {1}", upload.UploadID,
abortMultipartUploadOutput.RequestID);
isTruncated = listMultipartUploadsOutput.IsTruncated;
keyMarker = listMultipartUploadsOutput.NextKeyMarker;
catch (TosServerException ex)
Console.WriteLine("Clear Bucket failed, Request ID {0}", ex.RequestID);
Console.WriteLine("Clear Bucket failed, Status Code {0}", ex.StatusCode);
Console.WriteLine("Clear Bucket failed, Response Error Code {0}", ex.Code);
Console.WriteLine("Clear Bucket failed, Response Error Message {0}", ex.Message);
catch (TosClientException ex)
Console.WriteLine("Clear Bucket failed, Error Message {0}", ex.Message);
Console.WriteLine("Clear Bucket failed, {0}", ex.Message);