Topik ini menjelaskan cara menghapus satu objek dan beberapa objek sekaligus.
Objek yang dihapus tidak dapat dipulihkan. Harap berhati-hati saat menghapus objek.
Catatan penggunaan
Sebelum menjalankan kode contoh dalam topik ini, Anda harus membuat instans OSSClient menggunakan metode seperti menggunakan nama domain kustom atau Security Token Service (STS). Untuk informasi selengkapnya, lihat Initialization.
Untuk menghapus objek, Anda harus memiliki izin tulis pada bucket tempat objek disimpan.
Hapus satu objek
Kode contoh berikut menunjukkan cara menghapus objek bernama exampleobject.txt dari bucket bernama examplebucket:
OSSDeleteObjectRequest * delete = [OSSDeleteObjectRequest new];
// Tentukan nama bucket. Contoh: examplebucket.
delete.bucketName = @"examplebucket";
// Tentukan jalur lengkap objek. Jangan sertakan nama bucket dalam jalur lengkap. Contoh: exampleobject.txt.
delete.objectKey = @"exampleobject.txt";
OSSTask * deleteTask = [client deleteObject:delete];
[deleteTask continueWithBlock:^id(OSSTask *task) {
if (!task.error) {
// ...
}
return nil;
}];
// Implementasikan pemblokiran sinkron untuk menunggu tugas selesai.
// [deleteTask waitUntilFinished];Hapus beberapa objek sekaligus
Anda dapat menghapus hingga 1.000 objek sekaligus.
Hasilnya dapat dikembalikan dalam salah satu mode berikut:
verbose: Jika quiet diatur ke NO, daftar semua objek yang dihapus akan dikembalikan.
quiet: Jika quiet tidak ditentukan atau diatur ke YES, daftar objek yang gagal dihapus akan dikembalikan.
Kode contoh berikut menunjukkan cara menghapus beberapa objek yang ditentukan dari bucket bernama examplebucket dan mengembalikan hasilnya dalam mode quiet:
OSSDeleteMultipleObjectsRequest *request = [OSSDeleteMultipleObjectsRequest new];
// Tentukan nama bucket. Contoh: examplebucket.
request.bucketName = @"examplebucket";
// Tentukan jalur lengkap objek yang akan dihapus. Jangan sertakan nama bucket dalam jalur lengkap objek.
request.keys = @[@"exampleobject.txt", @"testfolder/sampleobject.txt"];
// Atur quiet ke YES untuk hanya mengembalikan daftar objek yang gagal dihapus.
request.quiet = YES;
OSSTask * deleteMultipleObjectsTask = [client deleteMultipleObjects:request];
[deleteMultipleObjectsTask continueWithBlock:^id(OSSTask *task) {
if (!task.error) {
OSSDeleteMultipleObjectsResult *result = task.result;
NSLog(@"hapus objek: %@", result.deletedObjects);
} else {
NSLog(@"hapus objek gagal, error: %@", task.error);
}
return nil;
}];
// Implementasikan pemblokiran sinkron untuk menunggu tugas selesai.
// [deleteTask waitUntilFinished];Referensi
Hapus Satu Objek
Untuk informasi lebih lanjut tentang operasi API yang dapat Anda panggil untuk menghapus satu objek, lihat DeleteObject.
Hapus Beberapa Objek Sekaligus
Untuk informasi lebih lanjut tentang operasi API yang dapat Anda panggil untuk menghapus beberapa objek, lihat DeleteMultipleObjects.
Untuk informasi lebih lanjut tentang cara menginisialisasi instance OSSClient, lihat Inisialisasi.