全部产品
Search
文档中心

Object Storage Service:Hapus objek (C# SDK V2)

更新时间:Nov 09, 2025

Topik ini menjelaskan cara menggunakan OSS C# SDK untuk menghapus satu objek atau beberapa objek.

Peringatan

  • Kode contoh dalam topik ini menggunakan Wilayah China (Hangzhou) (cn-hangzhou) sebagai contoh dan menggunakan Titik akhir publik secara default. Jika Anda ingin mengakses OSS dari layanan Alibaba Cloud lainnya di wilayah yang sama, gunakan Titik akhir internal. Untuk informasi lebih lanjut tentang wilayah dan titik akhir yang didukung oleh OSS, lihat Wilayah dan Titik Akhir OSS.

  • Contoh-contoh dalam topik ini menunjukkan cara membaca kredensial akses dari Variabel lingkungan. Untuk informasi lebih lanjut tentang cara mengonfigurasi kredensial akses, lihat Konfigurasikan Kredensial Akses.

  • Untuk menghapus objek, Anda harus memiliki izin oss:DeleteObject. Untuk informasi lebih lanjut, lihat Berikan Izin Khusus kepada Pengguna RAM.

Kode contoh

Hapus satu objek

using OSS = AlibabaCloud.OSS.V2;  // Buat alias untuk Alibaba Cloud OSS SDK untuk menyederhanakan penggunaan selanjutnya.

var region = "cn-hangzhou";  // Wajib. Atur wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur wilayah ke cn-hangzhou.
var endpoint = null as string;  // Opsional. Tentukan Nama domain yang digunakan untuk mengakses layanan OSS. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
var bucket = "nama bucket Anda";  // Wajib. Nama bucket tujuan.
var key = "nama objek Anda";  // Wajib. Nama objek tujuan.


// Muat konfigurasi default dari OSS SDK. Konfigurasi ini secara otomatis membaca informasi kredensial (seperti AccessKey) dari variabel lingkungan.
var cfg = OSS.Configuration.LoadDefault();
// Secara eksplisit atur penggunaan variabel lingkungan untuk mendapatkan kredensial untuk verifikasi identitas (format: OSS_ACCESS_KEY_ID, OSS_ACCESS_KEY_SECRET).
cfg.CredentialsProvider = new OSS.Credentials.EnvironmentVariableCredentialsProvider();
// Atur wilayah bucket dalam konfigurasi.
cfg.Region = region;   
// Jika endpoint ditentukan, itu akan menimpa endpoint default. 
if(endpoint != null) 
{
    cfg.Endpoint = endpoint;
} 

// Buat instance klien OSS menggunakan informasi konfigurasi.
using var client = new OSS.Client(cfg); 

// Panggil metode DeleteObjectAsync untuk menghapus objek tujuan.
var result = await client.DeleteObjectAsync(new OSS.Models.DeleteObjectRequest()
{
    Bucket = bucket,
    Key = key,
});

// Cetak informasi hasil.
Console.WriteLine("Hapus objek selesai");   // Pesan yang menunjukkan bahwa operasi telah selesai.
Console.WriteLine($"Kode Status: {result.StatusCode}");  // Kode status HTTP.
Console.WriteLine($"ID Permintaan: {result.RequestId}");  // ID permintaan, yang digunakan untuk pemecahan masalah di Alibaba Cloud.
Console.WriteLine("Header Respons:");  // Informasi header respons.
result.Headers.ToList().ForEach(x => Console.WriteLine(x.Key + " : " + x.Value));  // Lintasi dan cetak semua header respons.

Hapus beberapa objek

using OSS = AlibabaCloud.OSS.V2;  // Buat alias untuk Alibaba Cloud OSS SDK untuk menyederhanakan penggunaan selanjutnya.

var region = "cn-hangzhou";  // Wajib. Atur wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur wilayah ke cn-hangzhou.
var endpoint = null as string;  // Opsional. Tentukan Nama domain yang digunakan untuk mengakses layanan OSS. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
var bucket = "nama bucket Anda";  // Wajib. Nama bucket.
var keys = new List<String>  // Wajib. Objek tujuan yang akan dihapus.
{
    "kunci objek Anda1",
    "kunci objek Anda2",
    "kunci objek Anda3"
};

// Muat konfigurasi default dari OSS SDK. Konfigurasi ini secara otomatis membaca informasi kredensial (seperti AccessKey) dari variabel lingkungan.
var cfg = OSS.Configuration.LoadDefault();
// Secara eksplisit atur penggunaan variabel lingkungan untuk mendapatkan kredensial untuk verifikasi identitas (format: OSS_ACCESS_KEY_ID, OSS_ACCESS_KEY_SECRET).
cfg.CredentialsProvider = new OSS.Credentials.EnvironmentVariableCredentialsProvider();
// Atur wilayah bucket dalam konfigurasi.
cfg.Region = region;   
// Jika endpoint ditentukan, itu akan menimpa endpoint default. 
if(endpoint != null) 
{
    cfg.Endpoint = endpoint;
} 

// Buat instance klien OSS menggunakan informasi konfigurasi.
using var client = new OSS.Client(cfg);

// Buat koleksi objek yang akan dihapus.
var objects = new List<OSS.Models.DeleteObject>();
// Lintasi daftar kunci objek yang akan dihapus (lewati jika keys adalah null).
foreach (var item in keys ?? [])
{
    objects.Add(new OSS.Models.DeleteObject()
    {
        Key = item,
    });
}

// Panggil metode DeleteMultipleObjectsAsync untuk menjalankan permintaan penghapusan batch.
var result = await client.DeleteMultipleObjectsAsync(new OSS.Models.DeleteMultipleObjectsRequest()
{
    Bucket = bucket,
    Objects = objects
});

// Cetak informasi hasil.
Console.WriteLine("Hapus beberapa objek selesai");  // Pesan yang menunjukkan bahwa operasi telah selesai.
Console.WriteLine($"Kode Status: {result.StatusCode}");  // Kode status HTTP.
Console.WriteLine($"ID Permintaan: {result.RequestId}");  // ID permintaan, yang digunakan untuk pemecahan masalah di Alibaba Cloud.
Console.WriteLine("Header Respons:");  // Informasi header respons.
result.Headers.ToList().ForEach(x => Console.WriteLine(x.Key + " : " + x.Value));  // Lintasi dan cetak semua header respons.
Console.WriteLine("Kunci yang akan dihapus:");  
keys?.ToList().ForEach(x => Console.WriteLine(x));  // Cetak daftar objek yang dihapus.

Referensi

Untuk kode contoh lengkap, lihat delete_object.cs.