このトピックでは、オブジェクトを削除する方法について説明します。

警告 削除されたオブジェクトは回復できないため、オブジェクトは慎重に削除してください。

オブジェクトを削除するための完全なコードについては、『GitHub』をご参照ください。

オブジェクトの削除

1 つのオブジェクトを削除するには、次のコードを実行します。

using Aliyun.OSS; 
var endpoint = "<yourEndpoint>";
var accessKeyId = "<yourAccessKeyId>";
var accessKeySecret = "<yourAccessKeySecret>";
var bucketName = "<yourBucketName>";
var objectName = "<yourObjectName>";
// Create an OSSClient instance.
var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
try
{
    /// Delete an object.
    client.DeleteObject(bucketName, objectName);
    Console.WriteLine("Delete object succeeded");
}
} catch (Exception e) {
{
    Console.WriteLine("Delete object failed. {0}", ex.Message);
}

複数のオブジェクトの削除

同時に最大 1,000 個のオブジェクトを削除できます。 オブジェクトの削除は、詳細モード (verbose) および簡易モード (quiet) の 2 つの方法があります。

  • verbose: 削除に成功したオブジェクトのリストを返します。 既定のモードは verbose です。
  • quiet: 削除に失敗したオブジェクトのリストを返します。

複数のオブジェクトを同時に削除するには、次のコードを実行します。

using Aliyun.OSS;
var endpoint = "<yourEndpoint>";
var accessKeyId = "<yourAccessKeyId>";
var accessKeySecret = "<yourAccessKeySecret>";
var bucketName = "<yourBucketName>";
// Create an OSSClient instance.
var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
try
{
    var keys = new List<string>();
    var listResult = client.ListObjects(bucketName);
    foreach (var summary in listResult.ObjectSummaries)
    {
        keys.Add(summary.Key);
    }
    // If the quietMode is true, the quiet mode is used. If the quietMode is false, the verbose mode is used. The default mode is verbose.
    var quietMode = false;
    // The third parameter of the DeleteObjectsRequest specifies the return mode.
    var request = new DeleteObjectsRequest(bucketName, keys, quietMode);
    // Delete multiple objects.
    var result = client.DeleteObjects(request);
    if ((! quietMode) && (result.Keys ! = null) {
    {
        foreach (var obj in result.Keys)
        {
            Console.WriteLine("Delete successfully : {0} ", obj.Key);
        }
    }
    Console.WriteLine("Delete objects succeeded");
}
} catch (Exception e) {
{
    Console.WriteLine("Delete objects failed. {0}", ex.Message);
}