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.