tencent cloud

Feedback

Deleting Objects

Last updated: 2022-01-13 12:38:27

    Overview

    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.

    SDK API References

    For the parameters and method description of all the APIs in the SDK, see API Documentation.

    Deleting a Single Object

    Description

    This API (DELETE Object) is used to delete a specified object.

    Sample code

    try
    {
    // Bucket name in the format of `BucketName-APPID`. You can get APPID by referring to https://console.cloud.tencent.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.

    Deleting Multiple Objects

    Description

    The API (DELETE Multiple Objects) is used to delete multiple objects.

    Sample code

    try
    {
    // Bucket name in the format of `BucketName-APPID`. You can get APPID by referring to https://console.cloud.tencent.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.

    Deleting Objects with a Specified Prefix (Deleting a Folder)

    Description

    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).

    Sample code

    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.cloud.tencent.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.

    Contact Us

    Contact our sales team or business advisors to help your business.

    Technical Support

    Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

    7x24 Phone Support