全部产品
Search
文档中心

Object Storage Service:Hapus bucket menggunakan OSS SDK Python 2.0

更新时间:Aug 05, 2025

Topik ini menjelaskan cara menghapus bucket menggunakan OSS SDK Python 2.0.

Catatan penggunaan

  • Kode contoh dalam topik ini menggunakan ID Wilayah cn-hangzhou dari Wilayah China (Hangzhou). Secara default, titik akhir publik digunakan untuk mengakses sumber daya di bucket. Jika Anda ingin mengakses sumber daya di bucket dari layanan Alibaba Cloud lainnya di wilayah yang sama dengan bucket tersebut, gunakan titik akhir internal. Untuk informasi lebih lanjut tentang wilayah dan titik akhir OSS, lihat Wilayah dan Titik Akhir.

  • Titik akses bucket telah dihapus. Untuk informasi lebih lanjut, lihat Titik Akses.

  • Semua objek di bucket harus dihapus sebelum menghapus bucket.

    Penting

    Untuk menghapus bucket yang memiliki versi, pastikan semua versi saat ini dan sebelumnya dari objek di bucket telah dihapus. Untuk informasi lebih lanjut, lihat Versi.

    • Jika bucket berisi sedikit objek, hapus mereka secara manual. Untuk informasi lebih lanjut, lihat Hapus Objek.

    • Jika bucket Anda berisi banyak objek, konfigurasikan aturan siklus hidup untuk menghapusnya. Untuk informasi lebih lanjut, lihat Siklus Hidup.

  • Bagian yang dihasilkan oleh tugas unggah multi-bagian atau unggah yang dapat dilanjutkan di bucket harus dihapus. Untuk informasi lebih lanjut, lihat Hapus Bagian.

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 Kebijakan RAM atau Kebijakan Bucket.

API

Aksi

Definisi

DeleteBucket

oss:DeleteBucket

Menghapus bucket.

Definisi metode

delete_bucket(request: DeleteBucketRequest, **kwargs) → DeleteBucketResult

Parameter permintaan

Parameter

Tipe

Deskripsi

request

DeleteBucketRequest

Parameter permintaan. Untuk informasi lebih lanjut, lihat DeleteBucketRequest

Parameter tanggapan

Tipe

Deskripsi

DeleteBucketResult

Parameter tanggapan. Untuk informasi lebih lanjut, lihat DeleteBucketResult

Untuk definisi lengkap metode delete_bucket, lihat delete_bucket.

Kode contoh

Berikut adalah contoh kode untuk menghapus bucket:

import argparse
import alibabacloud_oss_v2 as oss

# Buat parser argumen baris perintah dan jelaskan bahwa skrip ini digunakan untuk menghapus bucket OSS tertentu.
parser = argparse.ArgumentParser(description="Menghapus bucket OSS tertentu.")

# Tambahkan argumen baris perintah --region, yang menentukan wilayah tempat bucket berada. Argumen ini wajib.
parser.add_argument('--region', help='Wilayah tempat bucket berada.', required=True)

# Tambahkan argumen baris perintah --bucket, yang menentukan nama bucket. Argumen ini wajib.
parser.add_argument('--bucket', help='Nama bucket yang akan dihapus.', required=True)

# Tambahkan argumen baris perintah --endpoint, yang menentukan nama domain yang dapat digunakan layanan lain untuk mengakses OSS. Argumen ini opsional.
parser.add_argument('--endpoint', help='Nama domain yang dapat digunakan layanan lain untuk mengakses OSS.')

def main():
    """
    Fungsi utama, yang digunakan untuk mem-parsing argumen baris perintah dan menghapus bucket tertentu.
    """

    args = parser.parse_args()  # Parsing argumen baris perintah.

    # Muat kredensial dari variabel lingkungan untuk verifikasi identitas.
    credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()

    # Gunakan konfigurasi default dari SDK dan atur penyedia kredensial dan wilayah.
    cfg = oss.config.load_default()
    cfg.credentials_provider = credentials_provider
    cfg.region = args.region

    # Jika parameter endpoint diberikan, atur endpoint dalam konfigurasi.
    if args.endpoint is not None:
        cfg.endpoint = args.endpoint

    # Buat klien OSS berdasarkan konfigurasi.
    client = oss.Client(cfg)

    # Bangun permintaan untuk menghapus bucket tertentu.
    request = oss.DeleteBucketRequest(bucket=args.bucket)
   
    try:
        # Kirim permintaan dan dapatkan tanggapan.
        result = client.delete_bucket(request)

        # Cetak kode status dan ID permintaan dari tanggapan.
        print(f'kode status: {result.status_code},'
              f' ID permintaan: {result.request_id}')
    except oss.exceptions.OssError as e:
        # Tangkap dan cetak kemungkinan pengecualian.
        print(f"Gagal menghapus bucket: {e}")

if __name__ == "__main__":
    main()  # Titik masuk skrip. Fungsi utama dipanggil ketika file dijalankan.
  

Referensi