全部产品
Search
文档中心

Object Storage Service:Hapus bucket menggunakan OSS SDK untuk Go 2.0

更新时间:Aug 06, 2025

Jika Anda tidak lagi menggunakan bucket Object Storage Service (OSS), Anda dapat menghapusnya untuk mencegah biaya yang tidak perlu.

Catatan

  • 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 dengan menggunakan layanan Alibaba Cloud lainnya dalam wilayah yang sama, gunakan titik akhir internal. Untuk informasi lebih lanjut tentang Wilayah dan titik akhir OSS, lihat Wilayah dan Titik Akhir OSS.

  • Dalam topik ini, kredensial akses diperoleh dari variabel lingkungan. Untuk informasi lebih lanjut tentang cara mengonfigurasi kredensial akses, lihat Konfigurasikan Kredensial Akses.

  • Nama bucket harus unik. Setelah bucket dihapus, namanya menjadi tersedia untuk digunakan oleh orang lain. Kami menyarankan Anda untuk mengosongkan bucket alih-alih menghapusnya jika Anda masih ingin menggunakan nama tersebut.

  • Bucket yang telah dihapus tidak dapat dipulihkan. Pastikan bahwa data di dalam bucket sudah tidak diperlukan sebelum penghapusan. Jika Anda ingin terus menggunakan data di dalam bucket, cadangkan data tersebut terlebih dahulu. Untuk informasi lebih lanjut, lihat Cadangkan Bucket.

  • Izin oss:DeleteBucket diperlukan untuk menghapus bucket. Untuk informasi lebih lanjut, lihat Menyambungkan Kebijakan Kustom ke Pengguna RAM.

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.

Catatan

Jika Pengguna RAM memiliki izin oss:DeleteBucket dalam Kebijakan RAM tetapi tidak dapat menghapus bucket, kebijakan bucket lain yang disambungkan ke Pengguna RAM mungkin berisi izin oss:DeleteBucket yang efeknya adalah Tolak. Dalam hal ini, Anda harus mengubah Tolak menjadi Izinkan atau menghapus kebijakan bucket sebelum Anda dapat menghapus bucket.

Prasyarat

  • Semua objek di dalam bucket dihapus.

    Penting

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

    • Jika bucket berisi sejumlah kecil objek, kami sarankan Anda menghapusnya secara manual. Untuk informasi, lihat Hapus Objek.

    • Jika bucket berisi sejumlah besar objek, kami sarankan Anda mengonfigurasi aturan siklus hidup untuk menghapus objek. Untuk informasi, lihat Siklus Hidup.

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

Metode

func (c *Client) DeleteBucket(ctx context.Context, request *DeleteBucketRequest, optFns ...func(*Options)) (*DeleteBucketResult, error)

Parameter permintaan

Parameter

Tipe

Deskripsi

ctx

context.Context

Konteks permintaan, yang dapat digunakan untuk menentukan durasi total permintaan.

request

*DeleteBucketRequest

Parameter operasi API tertentu. Untuk informasi, lihat DeleteBucketRequest.

optFns

...func(*Options)

Opsional. Parameter tingkat operasi. Untuk informasi lebih lanjut, lihat Options.

Parameter tanggapan

Parameter

Tipe

Deskripsi

result

*DeleteBucketResult

Tanggapan atas operasi. Parameter ini valid ketika nilai err adalah nil. Untuk informasi lebih lanjut, kunjungi DeleteBucketResult.

err

error

Status permintaan. Jika permintaan gagal, nilai err bukan nil.

Contoh kode

Berikut ini adalah contoh kode untuk menghapus bucket.

package main

import (
	"context"
	"flag"
	"log"

	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
)

var (
	region     string
	bucketName string
)

func init() {
	// Tentukan parameter baris perintah untuk menentukan wilayah dan nama bucket.
	flag.StringVar(&region, "region", "", "Wilayah tempat bucket berada.")
	flag.StringVar(&bucketName, "bucket", "", "Nama bucket.")
}

func main() {
	// Parsing parameter baris perintah.
	flag.Parse()

	// Periksa apakah nama bucket ditentukan.
	if len(bucketName) == 0 {
		flag.PrintDefaults()
		log.Fatalf("parameter tidak valid, nama bucket diperlukan")
	}

	// Periksa apakah wilayah ditentukan.
	if len(region) == 0 {
		flag.PrintDefaults()
		log.Fatalf("parameter tidak valid, wilayah diperlukan")
	}

	// Muat konfigurasi default dan tentukan penyedia kredensial dan wilayah.
	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	// Buat klien OSS.
	client := oss.NewClient(cfg)

	// Buat objek permintaan untuk penghapusan.
	request := &oss.DeleteBucketRequest{
		Bucket: oss.Ptr(bucketName),
	}

	// Panggil metode DeleteBucket.
	result, err := client.DeleteBucket(context.TODO(), request)
	if err != nil {
		log.Fatalf("gagal menghapus bucket %v", err)
	}

	// Tampilkan hasilnya.
	log.Printf("hasil penghapusan bucket:%#v\n", result)
}

Referensi

  • Untuk kode sampel lengkap yang digunakan untuk menghapus bucket, kunjungi Contoh GitHub.

  • Untuk informasi lebih lanjut tentang operasi API yang dapat Anda panggil untuk menghapus bucket, lihat DeleteBucket.