Topik ini menjelaskan cara menghapus bucket menggunakan OSS SDK Python 2.0.
Catatan penggunaan
Kode contoh dalam topik ini menggunakan ID Wilayah
cn-hangzhoudari 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.
PentingUntuk 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 |
| Menghapus bucket. |
Definisi metode
delete_bucket(request: DeleteBucketRequest, **kwargs) → DeleteBucketResultParameter 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
Untuk kode contoh lengkap, lihat delete_bucket.py.