All Products
Search
Document Center

Object Storage Service:Hapus bucket (C++ SDK)

Last Updated:Nov 30, 2025

Jika bucket tidak lagi diperlukan, hapuslah untuk menghentikan penagihan. Biaya Object Storage Service (OSS) terutama dikenakan pada sumber daya yang tersimpan di dalam bucket. Sebelum menghapus bucket, Anda harus mengosongkan seluruh isinya. Penghapusan bucket merupakan cara paling andal untuk memastikan tidak ada sumber daya berbayar yang terlewat dan mencegah tagihan tak terduga. Perlu diperhatikan bahwa data yang dihapus tidak dapat dipulihkan, dan nama bucket tersebut akan tersedia bagi pengguna lain untuk didaftarkan. Untuk sepenuhnya berhenti menggunakan layanan OSS, Anda harus menghapus semua bucket di bawah akun Anda.

Peringatan
  • 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. Pastikan data tersebut tidak lagi diperlukan sebelum menghapus bucket. Jika Anda masih memerlukan data tersebut, lakukan backup terlebih dahulu. Untuk informasi selengkapnya, lihat Backup bucket.

Catatan penggunaan

  • Topik ini menggunakan titik akhir publik wilayah China (Hangzhou). Jika Anda mengakses OSS dari layanan Alibaba Cloud lain 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 menggunakan titik akhir OSS. Jika Anda ingin membuat OSSClient menggunakan nama domain kustom atau Security Token Service (STS), lihat Buat instans OssClient.

  • 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

oss:DeleteBucket

Menghapus bucket.

Catatan

Jika Anda memiliki izin oss:DeleteBucket dalam kebijakan RAM tetapi tetap tidak dapat menghapus bucket, kemungkinan kebijakan bucket berisi pernyataan yang secara eksplisit menolak izin oss:DeleteBucket. Dalam kasus ini, ubah efek pernyataan tersebut dari Deny menjadi Allow, atau hapus kebijakan bucket sebelum menghapus bucket tersebut.

Kode contoh

Kode berikut menunjukkan cara menghapus bucket bernama examplebucket:

#include <alibabacloud/oss/OssClient.h>
using namespace AlibabaCloud::OSS;

int main(void)
{
    /*Inisialisasi informasi akun OSS.*/
    
    /*Tetapkan yourEndpoint ke Endpoint wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), tetapkan Endpoint ke https://oss-cn-hangzhou.aliyuncs.com.*/
    std::string Endpoint = "yourEndpoint";
    
    /*Tetapkan yourRegion ke wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), tetapkan wilayah ke cn-hangzhou.*/
    std::string Region = "yourRegion";
    
    /*Tentukan nama bucket, misalnya examplebucket.*/
    std::string BucketName = "examplebucket";

    /*Inisialisasi sumber daya jaringan.*/
    InitializeSdk();

    ClientConfiguration conf;
    conf.signatureVersion = SignatureVersionType::V4;
    /*Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.*/
    auto credentialsProvider = std::make_shared<EnvironmentVariableCredentialsProvider>();
    OssClient client(Endpoint, credentialsProvider, conf);
    client.SetRegion(Region);

    /*Hapus bucket.*/
    DeleteBucketRequest request(BucketName);
   
    auto outcome = client.DeleteBucket(request);

    if (outcome.isSuccess()) {
    std::cout << "Bucket berhasil dihapus." << std::endl;
    } else {
    std::cout << "Gagal menghapus bucket. Kode error: " << outcome.error().Code()
              << ", Pesan: " << outcome.error().Message()
              << ", RequestId: " << outcome.error().RequestId() << std::endl;
    }

    /*Lepaskan sumber daya jaringan.*/
    ShutdownSdk();
    return 0;
}

Referensi

  • Untuk kode contoh lengkap mengenai penghapusan bucket, lihat GitHub.

  • Untuk informasi selengkapnya mengenai operasi API yang dapat Anda panggil untuk menghapus bucket, lihat DeleteBucket.