全部产品
Search
文档中心

Object Storage Service:Hapus file (Android SDK)

更新时间:Nov 30, 2025

Topik ini menjelaskan cara menghapus satu objek atau beberapa objek sekaligus.

Peringatan

Objek yang telah dihapus tidak dapat dipulihkan. Berhati-hatilah saat menghapus objek.

Catatan penggunaan

  • Untuk menghapus suatu objek, Anda harus memiliki izin write pada bucket tempat objek tersebut disimpan.

  • Sebelum menjalankan kode contoh dalam topik ini, Anda harus membuat instans OSSClient dengan menggunakan metode seperti menggunakan nama domain kustom atau Security Token Service (STS). Untuk informasi selengkapnya, lihat Inisialisasi (Android SDK).

Hapus satu objek

Kode contoh berikut menunjukkan cara menghapus objek bernama exampleobject.txt dari bucket bernama examplebucket:

// Buat permintaan penghapusan.
// Tentukan nama bucket (misalnya, examplebucket) dan path lengkap objek (misalnya, exampledir/exampleobject.txt). Path lengkap objek tidak boleh mencakup nama bucket.
DeleteObjectRequest delete = new DeleteObjectRequest("examplebucket", "exampledir/exampleobject.txt");
// Hapus objek secara asinkron.
OSSAsyncTask deleteTask = oss.asyncDeleteObject(delete, new OSSCompletedCallback<DeleteObjectRequest, DeleteObjectResult>() {
    @Override
    public void onSuccess(DeleteObjectRequest request, DeleteObjectResult result) {
        Log.d("asyncDeleteObject", "success!");
    }

    @Override
    public void onFailure(DeleteObjectRequest request, ClientException clientExcepion, ServiceException serviceException) {
        // Terjadi kesalahan permintaan.
        if (clientExcepion != null) {
            // Terjadi exception pada client, misalnya exception jaringan.
            clientExcepion.printStackTrace();
        }
        if (serviceException != null) {
            // Terjadi exception pada server.
            Log.e("ErrorCode", serviceException.getErrorCode());
            Log.e("RequestId", serviceException.getRequestId());
            Log.e("HostId", serviceException.getHostId());
            Log.e("RawMessage", serviceException.getRawMessage());
        }
    }
});

Hapus beberapa objek sekaligus

Anda dapat menghapus hingga 1.000 objek sekaligus.

Hasil penghapusan dapat dikembalikan dalam dua mode berikut. Pilih mode pengembalian sesuai kebutuhan Anda.

  • verbose (default): Jika isQuiet tidak ditentukan atau diatur ke false, daftar semua objek yang dihapus akan dikembalikan.

  • quiet: Jika isQuiet diatur ke true, hanya daftar objek yang gagal dihapus yang dikembalikan.

Kode contoh berikut menunjukkan cara menghapus beberapa objek tertentu dari bucket bernama examplebucket dan mengembalikan hasil dalam mode quiet:

// Tentukan path lengkap objek yang ingin dihapus. Path lengkap objek tidak boleh mencakup nama bucket.
List<String> objectKeys = new ArrayList<String>();
objectKeys.add("exampleobject.txt");
objectKeys.add("testfolder/sampleobject.txt");

// Atur mode ke mode dasar untuk hanya mengembalikan daftar file yang gagal dihapus.
DeleteMultipleObjectRequest request = new DeleteMultipleObjectRequest("examplebucket", objectKeys, true);

oss.asyncDeleteMultipleObject(request, new OSSCompletedCallback<DeleteMultipleObjectRequest, DeleteMultipleObjectResult>() {
    @Override
    public void onSuccess(DeleteMultipleObjectRequest request, DeleteMultipleObjectResult result) {
        Log.i("DeleteMultipleObject", "success");
    }

    @Override
    public void onFailure(DeleteMultipleObjectRequest request, ClientException clientException, ServiceException serviceException) {
        // Terjadi kesalahan permintaan.
        if (clientException != null) {
            // Terjadi exception pada client, misalnya exception jaringan.
            clientException.printStackTrace();
        }
        if (serviceException != null) {
            // Terjadi exception pada server.
            Log.e("ErrorCode", serviceException.getErrorCode());
            Log.e("RequestId", serviceException.getRequestId());
            Log.e("HostId", serviceException.getHostId());
            Log.e("RawMessage", serviceException.getRawMessage());
        }
    }
});

Referensi

  • Hapus satu objek

    Untuk informasi selengkapnya tentang Operasi API yang dapat Anda panggil untuk menghapus satu objek, lihat DeleteObject.

  • Hapus beberapa objek sekaligus

    Untuk informasi tentang Operasi API yang dapat Anda panggil untuk menghapus beberapa objek sekaligus, lihat DeleteMultipleObjects.

  • Untuk informasi selengkapnya tentang cara menginisialisasi instans OSSClient, lihat Inisialisasi.