This document provides an overview of APIs and SDK code samples related to object deletion.
API | Operation | Description |
---|---|---|
DELETE Object | Deleting an object | Deletes an object from a bucket. |
DELETE Multiple Objects | Deleting multiple objects | Deletes multiple objects from a bucket. |
For the parameters and method description of all the APIs in the SDK, see API Documentation.
This API (DELETE Object
) is used to delete a specified object.
try
{
// Bucket name in the format of `BucketName-APPID`. You can get APPID by referring to https://console.tencentcloud.com/developer.
string bucket = "examplebucket-1250000000";
string key = "exampleobject"; // Object key
DeleteObjectRequest request = new DeleteObjectRequest(bucket, key);
// Execute the request
DeleteObjectResult result = cosXml.DeleteObject(request);
// Request succeeded
Console.WriteLine(result.GetResultInfo());
}
catch (COSXML.CosException.CosClientException clientEx)
{
// Request failed
Console.WriteLine("CosClientException: " + clientEx);
}
catch (COSXML.CosException.CosServerException serverEx)
{
// Request failed
Console.WriteLine("CosServerException: " + serverEx.GetInfo());
}
Note:For the complete sample, go to GitHub.
The API (DELETE Multiple Objects) is used to delete multiple objects.
try
{
// Bucket name in the format of `BucketName-APPID`. You can get APPID by referring to https://console.tencentcloud.com/developer.
string bucket = "examplebucket-1250000000";
DeleteMultiObjectRequest request = new DeleteMultiObjectRequest(bucket);
// Set the return result format
request.SetDeleteQuiet(false);
// Object key
string key = "exampleobject"; // Object key
List<string> objects = new List<string>();
objects.Add(key);
request.SetObjectKeys(objects);
// Execute the request
DeleteMultiObjectResult result = cosXml.DeleteMultiObjects(request);
// Request succeeded
Console.WriteLine(result.GetResultInfo());
}
catch (COSXML.CosException.CosClientException clientEx)
{
// Request failed
Console.WriteLine("CosClientException: " + clientEx);
}
catch (COSXML.CosException.CosServerException serverEx)
{
// Request failed
Console.WriteLine("CosServerException: " + serverEx.GetInfo());
}
Note:For the complete sample, go to GitHub.
If you delete objects with a specified prefix, it will be like you delete a directory.
COS does not have the concept of directories, but you can use slashes (/) as the delimiter to simulate directories.
In COS, deleting a directory and the objects contained actually means deleting objects that have the same specified prefix. Currently, COS’s .NET SDK does not provide a standalone API to perform this operation. However, you can still do so with a combination of basic operations (query object list + batch delete objects).
try
{
String nextMarker = null;
// Request until there is no next page of data
do
{
// Bucket name in the format of `BucketName-APPID`. You can get APPID by referring to https://console.tencentcloud.com/developer.
string bucket = "examplebucket-1250000000";
string prefix = "folder1/"; // Specify a prefix.
GetBucketRequest listRequest = new GetBucketRequest(bucket);
// Obtain all objects and subdirectories in folder1/.
listRequest.SetPrefix(prefix);
listRequest.SetMarker(nextMarker);
// Execute the list object request.
GetBucketResult listResult = cosXml.GetBucket(listRequest);
ListBucket info = listResult.listBucket;
// List objects
List<ListBucket.Contents> objects = info.contentsList;
// nextMarker for the next page
nextMarker = info.nextMarker;
DeleteMultiObjectRequest deleteRequest = new DeleteMultiObjectRequest(bucket);
// Set the return result format
deleteRequest.SetDeleteQuiet(false);
// List objects
List<string> deleteObjects = new List<string>();
foreach (var content in objects)
{
deleteObjects.Add(content.key);
}
deleteRequest.SetObjectKeys(deleteObjects);
// Execute the batch delete request.
DeleteMultiObjectResult deleteResult = cosXml.DeleteMultiObjects(deleteRequest);
// Print the request result.
Console.WriteLine(deleteResult.GetResultInfo());
} while (nextMarker != null);
}
catch (COSXML.CosException.CosClientException clientEx)
{
// Request failed
Console.WriteLine("CosClientException: " + clientEx);
}
catch (COSXML.CosException.CosServerException serverEx)
{
// Request failed
Console.WriteLine("CosServerException: " + serverEx.GetInfo());
}
Note:For the complete sample, go to GitHub.
Apakah halaman ini membantu?