Anda dapat menghapus bucket ketika tidak lagi membutuhkannya atau ingin menghentikan penagihan. Biaya OSS terutama berasal dari sumber daya di dalam bucket. Sebelum menghapus bucket, Anda harus membersihkan semua sumber dayanya. Menghapus bucket merupakan cara paling andal untuk memastikan tidak ada sumber daya yang dikenai biaya secara tak terduga. Perlu diperhatikan bahwa data tidak dapat dipulihkan setelah dihapus, dan nama bucket tersebut menjadi tersedia bagi pengguna lain untuk didaftarkan. Untuk sepenuhnya berhenti menggunakan layanan OSS, Anda harus menghapus semua bucket di bawah akun Anda.
Setelah bucket dihapus, namanya dilepas dan dapat diklaim oleh pengguna lain. Jika Anda ingin mempertahankan nama bucket tersebut, kosongkan bucket alih-alih menghapusnya.
Data dalam bucket tidak dapat dipulihkan setelah bucket dihapus. Sebelum menghapus bucket, pastikan data tersebut tidak lagi diperlukan. Jika Anda ingin tetap menggunakan data dalam bucket tersebut, lakukan backup terlebih dahulu. Untuk informasi selengkapnya, lihat Backup bucket.
Pertimbangan
Dalam topik ini, titik akhir publik wilayah China (Hangzhou) digunakan. Untuk mengakses OSS dari layanan Alibaba Cloud lainnya di wilayah yang sama, gunakan titik akhir internal. Untuk detail wilayah dan titik akhir yang didukung, lihat Wilayah dan titik akhir.
Dalam topik ini, kredensial akses diperoleh dari variabel lingkungan. Untuk informasi lebih lanjut tentang cara mengonfigurasi kredensial akses, lihat Konfigurasi kredensial akses.
Dalam topik ini, instans OSSClient dibuat menggunakan titik akhir OSS. Jika Anda ingin membuat instans OSSClient menggunakan nama domain kustom atau Security Token Service (STS), lihat Contoh konfigurasi untuk skenario umum.
Sebelum menghapus bucket, pastikan Anda telah menghapus sumber daya yang diperlukan.
Izin
Secara default, Akun Alibaba Cloud memiliki izin penuh. Pengguna RAM atau Peran RAM di bawah Akun Alibaba Cloud tidak memiliki izin apa pun secara default. Akun Alibaba Cloud atau administrator akun harus memberikan izin operasi melalui RAM Policy atau Kebijakan bucket.
API | Action | Definisi |
DeleteBucket |
| Menghapus bucket. |
Kode contoh
Kode berikut memberikan contoh cara menghapus bucket bernama examplebucket:
import com.aliyun.oss.*;
import com.aliyun.oss.common.auth.*;
import com.aliyun.oss.common.comm.SignVersion;
public class Demo {
public static void main(String[] args) throws Exception {
// Dalam contoh ini, titik akhir wilayah China (Hangzhou) digunakan. Tentukan titik akhir aktual Anda.
String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// Peroleh kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
// Tentukan nama bucket. Contoh: examplebucket.
String bucketName = "examplebucket";
// Tentukan wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur wilayah menjadi cn-hangzhou.
String region = "cn-hangzhou";
// Buat instans OSSClient.
// Panggil metode shutdown untuk melepaskan sumber daya terkait saat OSSClient tidak lagi digunakan.
ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
OSS ossClient = OSSClientBuilder.create()
.endpoint(endpoint)
.credentialsProvider(credentialsProvider)
.clientConfiguration(clientBuilderConfiguration)
.region(region)
.build();
try {
// Hapus bucket.
ossClient.deleteBucket(bucketName);
} catch (OSSException oe) {
System.out.println("Terjadi OSSException, yang berarti permintaan Anda berhasil mencapai OSS, "
+ "tetapi ditolak dengan tanggapan error karena suatu alasan.");
System.out.println("Pesan Error:" + oe.getErrorMessage());
System.out.println("Kode Error:" + oe.getErrorCode());
System.out.println("ID Permintaan:" + oe.getRequestId());
System.out.println("Host ID:" + oe.getHostId());
} catch (ClientException ce) {
System.out.println("Terjadi ClientException, yang berarti klien mengalami "
+ "masalah internal serius saat mencoba berkomunikasi dengan OSS, "
+ "seperti tidak dapat mengakses jaringan.");
System.out.println("Pesan Error:" + ce.getMessage());
} finally {
if (ossClient != null) {
ossClient.shutdown();
}
}
}
} Referensi
Untuk kode contoh lengkap yang digunakan untuk menghapus bucket, lihat contoh GitHub.
Untuk informasi selengkapnya tentang operasi API yang dapat Anda panggil untuk menghapus bucket, lihat DeleteBucket.