Topik ini menjelaskan cara menghapus satu objek atau beberapa objek sekaligus.
Berhati-hatilah saat melakukan operasi penghapusan. Objek yang telah dihapus tidak dapat dipulihkan.
Catatan penggunaan
Pada topik ini, digunakan titik akhir publik wilayah China (Hangzhou). Jika Anda ingin mengakses OSS dari layanan Alibaba Cloud lainnya yang berada di wilayah yang sama dengan OSS, gunakan titik akhir internal. Untuk informasi selengkapnya mengenai wilayah dan titik akhir OSS, lihat Wilayah dan titik akhir.
Pada topik ini, instans OSSClient dibuat dengan menggunakan titik akhir OSS. Jika Anda ingin membuat instans OSSClient menggunakan nama domain kustom atau Security Token Service (STS), lihat Inisialisasi.
Untuk menghapus objek, Anda harus memiliki izin
oss:DeleteObject. Untuk informasi selengkapnya, lihat Lampirkan kebijakan kustom ke RAM user.
Hapus satu objek
Kode berikut menunjukkan cara menghapus objek exampleobject.txt dari bucket examplebucket.
using Aliyun.OSS;
using Aliyun.OSS.Common;
// Tentukan titik akhir wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur titik akhir menjadi https://oss-cn-hangzhou.aliyuncs.com.
var endpoint = "yourEndpoint";
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// Tentukan nama bucket. Contoh: examplebucket.
var bucketName = "examplebucket";
// Tentukan path lengkap objek. Jangan sertakan nama bucket dalam path lengkap. Contoh: exampledir/exampleobject.txt.
var objectName = "exampledir/exampleobject.txt";
// Tentukan wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur wilayah menjadi cn-hangzhou.
const string region = "cn-hangzhou";
// Buat instans ClientConfiguration dan ubah parameter default sesuai kebutuhan Anda.
var conf = new ClientConfiguration();
// Gunakan algoritma signature V4.
conf.SignatureVersion = SignatureVersion.V4;
// Buat instans OSSClient.
var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);
client.SetRegion(region);
try
{
// Hapus objek.
client.DeleteObject(bucketName, objectName);
Console.WriteLine("Hapus objek berhasil");
}
catch (Exception ex)
{
Console.WriteLine("Hapus objek gagal. {0}", ex.Message);
}Hapus beberapa objek
Anda dapat menghapus hingga 1.000 objek sekaligus.
Hasil dapat dikembalikan dalam dua mode berikut. Pilih mode pengembalian yang sesuai dengan kebutuhan Anda.
verbose: Jika quietMode tidak ditentukan atau diatur ke false, daftar semua objek yang dihapus akan dikembalikan. Ini adalah mode pengembalian default.
quiet: Jika quietMode diatur ke true, tidak ada isi pesan yang dikembalikan.
Kode berikut memberikan contoh cara menghapus beberapa objek tertentu dari bucket bernama examplebucket:
using Aliyun.OSS;
using Aliyun.OSS.Common;
// Tentukan titik akhir wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur titik akhir menjadi https://oss-cn-hangzhou.aliyuncs.com.
var endpoint = "yourEndpoint";
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// Tentukan nama bucket. Contoh: examplebucket.
var bucketName = "examplebucket";
// Tentukan wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur wilayah menjadi cn-hangzhou.
const string region = "cn-hangzhou";
// Buat instans ClientConfiguration dan ubah parameter default sesuai kebutuhan Anda.
var conf = new ClientConfiguration();
// Gunakan algoritma signature V4.
conf.SignatureVersion = SignatureVersion.V4;
// Buat instans OSSClient.
var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);
client.SetRegion(region);
try
{
// Tentukan path beberapa objek yang ingin dihapus. Jangan sertakan nama bucket dalam path lengkap.
var keys = new List<string>();
keys.Add("exampleobject.txt");
keys.Add("testdir/sampleobject.txt");
// Biarkan quietMode kosong atau atur quietMode ke false untuk mengembalikan daftar objek yang dihapus.
var quietMode = false;
var request = new DeleteObjectsRequest(bucketName, keys, quietMode);
// Hapus beberapa objek.
var result = client.DeleteObjects(request);
if ((!quietMode) && (result.Keys != null))
{
foreach (var obj in result.Keys)
{
Console.WriteLine("Berhasil menghapus: {0} ", obj.Key);
}
}
Console.WriteLine("Hapus objek berhasil");
}
catch (Exception ex)
{
Console.WriteLine("Hapus objek gagal. {0}", ex.Message);
}Referensi
Hapus satu objek
Untuk informasi selengkapnya mengenai operasi API yang dapat Anda panggil untuk menghapus satu objek, lihat DeleteObject.
Hapus beberapa objek
Untuk kode contoh lengkap yang digunakan untuk menghapus beberapa objek, kunjungi GitHub.
Untuk informasi selengkapnya mengenai operasi API yang dapat Anda panggil untuk menghapus beberapa objek, lihat DeleteMultipleObjects.