全部产品
Search
文档中心

Object Storage Service:Daftar bucket (Go SDK V2)

更新时间:Nov 09, 2025

Topik ini menjelaskan cara mendaftarkan bucket yang memenuhi kondisi tertentu di semua wilayah akun Anda.

Peringatan

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

  • Contoh-contoh dalam topik ini menunjukkan cara membaca kredensial akses dari variabel lingkungan. Untuk informasi lebih lanjut tentang cara mengonfigurasi kredensial akses, lihat Konfigurasikan Kredensial Akses.

  • Untuk mendaftarkan bucket, Anda harus memiliki izin oss:ListBuckets. Untuk informasi lebih lanjut, lihat Berikan Izin Khusus kepada Pengguna RAM.

  • Saat menggunakan SDK untuk mendaftarkan bucket, Anda dapat menentukan ID kelompok sumber daya untuk menyaring bucket dalam kelompok sumber daya tertentu.

    • Secara default, parameter ID kelompok sumber daya tidak disertakan saat menggunakan SDK untuk mendaftarkan bucket. Akibatnya, respons XML tidak berisi informasi kelompok sumber daya.

    • Jika Anda menyertakan parameter ID kelompok sumber daya dalam permintaan, OSS mengembalikan semua bucket yang termasuk dalam kelompok sumber daya tersebut.

    • Jika Anda tidak menyertakan parameter ID kelompok sumber daya dalam permintaan, OSS mengembalikan semua bucket yang dimiliki oleh peminta.

Definisi metode

Operasi API untuk mendaftarkan bucket (Edisi Premium)

Penting
  • Untuk operasi daftar yang sering dilakukan, Go SDK V2 menyediakan paginator yang mendukung paging otomatis. Paginator secara otomatis mengambil hasil dari halaman berikutnya, sehingga Anda hanya perlu menulis kode untuk memproses hasilnya.

  • Paginator terdiri dari objek paginator, <OperationName>Paginator, dan metode pembuatan paginator, New<OperationName>Paginator. Metode pembuatan mengembalikan objek paginator yang mengimplementasikan metode HasNext dan NextPage. Anda dapat menggunakan metode-metode ini untuk menentukan apakah ada halaman lain dan untuk memanggil operasi untuk mengambil halaman berikutnya.

Berikut adalah kode yang menunjukkan definisi operasi untuk mendaftarkan bucket:

type ListBucketsPaginator struct

func (c *Client) NewListBucketsPaginator(request *ListBucketsRequest, optFns ...func(*PaginatorOptions)) *ListBucketsPaginator

func (p *ListBucketsPaginator) HasNext() bool

func (p *ListBucketsPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*<OperationName>Result, error)

Parameter permintaan

Parameter

Tipe

Deskripsi

request

*ListBucketsRequest

Parameter permintaan operasi. Untuk informasi lebih lanjut, lihat ListBucketsRequest

optFns

...func(*PaginatorOptions)

(Opsional) Parameter konfigurasi tingkat operasi. Untuk informasi lebih lanjut, lihat PaginatorOptions

Nilai kembali

Nilai kembali

Deskripsi

*ListBucketsPaginator

Objek paginator. Objek ini mengimplementasikan metode HasNext dan NextPage, yang digunakan untuk menentukan apakah ada halaman lain dan memanggil operasi untuk mengambil halaman berikutnya.

Operasi API untuk mendaftarkan bucket (Edisi Dasar)

func (c *Client) ListBuckets(ctx context.Context, request *ListBucketsRequest, optFns ...func(*Options)) (*ListBucketsResult, error)

Parameter permintaan

Parameter

Tipe

Deskripsi

ctx

context.Context

Konteks permintaan. Anda dapat menggunakan parameter ini untuk menyetel periode timeout untuk permintaan.

request

*ListBucketsRequest

Parameter permintaan operasi. Untuk informasi lebih lanjut, lihat ListBucketsRequest

optFns

...func(*Options)

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

Nilai kembali

Nilai kembali

Tipe

Deskripsi

result

*ListBucketsResult

Nilai kembali operasi. Parameter ini valid hanya jika err adalah nil. Untuk informasi lebih lanjut, lihat ListBucketsResult

err

error

Status permintaan. Jika permintaan gagal, err tidak nil.

Kode contoh

Daftarkan bucket menggunakan operasi API Edisi Premium

Anda dapat menggunakan kode berikut untuk mendaftarkan semua bucket di semua wilayah akun Anda.

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"
)

// Tentukan variabel global
var (
	region string // Wilayah tempat bucket disimpan
)

// Fungsi init digunakan untuk menginisialisasi parameter baris perintah
func init() {
	flag.StringVar(&region, "region", "", "Wilayah tempat bucket berada.")
}

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

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

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

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

	// Buat permintaan untuk mendaftarkan bucket
	request := &oss.ListBucketsRequest{}

	// Buat paginator
	p := client.NewListBucketsPaginator(request)

	var i int
	log.Println("Bucket:")

	// Telusuri setiap halaman dalam paginator
	for p.HasNext() {
		i++

		// Dapatkan data halaman berikutnya
		page, err := p.NextPage(context.TODO())
		if err != nil {
			log.Fatalf("gagal mendapatkan halaman %v, %v", i, err)
		}

		// Cetak informasi setiap bucket pada halaman
		for _, b := range page.Buckets {
			log.Printf("Bucket: %v, StorageClass: %v, Lokasi: %v\n", oss.ToString(b.Name), oss.ToString(b.StorageClass), oss.ToString(b.Location))
		}
	}

}

Daftarkan bucket menggunakan operasi API Edisi Dasar

Anda dapat menggunakan kode berikut untuk mendaftarkan semua bucket di semua wilayah akun Anda.

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"
)

// Tentukan variabel global
var (
	region string // Wilayah tempat bucket disimpan
)

// Fungsi init digunakan untuk menginisialisasi parameter baris perintah
func init() {
	flag.StringVar(&region, "region", "", "Wilayah tempat bucket berada.")
}

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

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

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

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

	// Buat permintaan ListBucketsRequest
	request := &oss.ListBucketsRequest{}

	// Daftarkan semua bucket di semua wilayah akun saat ini
	for {
		lsRes, err := client.ListBuckets(context.TODO(), request)
		if err != nil {
			log.Fatalf("Gagal mendaftarkan bucket: %v", err)
		}

		for _, bucket := range lsRes.Buckets {
			log.Printf("Bucket: %s", *bucket.Name)
		}

		if !lsRes.IsTruncated {
			break
		}
		request.Marker = lsRes.NextMarker
	}

	log.Println("Daftarkan bucket berhasil!")
}

Skenario umum

Daftarkan bucket dengan awalan tertentu

Gunakan Paginator

Anda dapat menggunakan kode berikut untuk mendaftarkan bucket yang namanya memiliki awalan `example` di semua wilayah akun Anda.

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"
)

// Tentukan variabel global
var (
	region string // Wilayah tempat bucket disimpan
)

// Fungsi init digunakan untuk menginisialisasi parameter baris perintah
func init() {
	flag.StringVar(&region, "region", "", "Wilayah tempat bucket berada.")
}

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

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

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

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

	// Buat permintaan untuk mendaftarkan bucket
	request := &oss.ListBucketsRequest{
		Prefix: oss.Ptr("example"), // Atur awalan ke "example". Hanya bucket yang namanya dimulai dengan awalan ini yang didaftarkan.
	}

	// Buat paginator
	p := client.NewListBucketsPaginator(request)

	var i int
	log.Println("Bucket:")

	// Telusuri setiap halaman dalam paginator
	for p.HasNext() {
		i++

		// Dapatkan data halaman berikutnya
		page, err := p.NextPage(context.TODO())
		if err != nil {
			log.Fatalf("gagal mendapatkan halaman %v, %v", i, err)
		}

		// Cetak informasi setiap bucket pada halaman
		for _, b := range page.Buckets {
			log.Printf("Bucket: %v, StorageClass: %v, Lokasi: %v\n", oss.ToString(b.Name), oss.ToString(b.StorageClass), oss.ToString(b.Location))
		}
	}
}

Gunakan ListBuckets

Anda dapat menggunakan kode berikut untuk mendaftarkan bucket yang namanya memiliki awalan `example` di semua wilayah akun Anda.

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"
)

// Tentukan variabel global
var (
	region string // Wilayah tempat bucket disimpan
)

// Fungsi init digunakan untuk menginisialisasi parameter baris perintah
func init() {
	flag.StringVar(&region, "region", "", "Wilayah tempat bucket berada.")
}

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

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

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

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

	// Buat permintaan ListBucketsRequest
	request := &oss.ListBucketsRequest{
		Prefix:  oss.Ptr("example"),
	}

	// Daftarkan semua bucket di semua wilayah akun saat ini
	for {
		lsRes, err := client.ListBuckets(context.TODO(), request)
		if err != nil {
			log.Fatalf("Gagal mendaftarkan bucket: %v", err)
		}

		for _, bucket := range lsRes.Buckets {
			log.Printf("Bucket: %s", *bucket.Name)
		}

		if !lsRes.IsTruncated {
			break
		}
		request.Marker = lsRes.NextMarker
	}

	log.Println("Daftarkan bucket berhasil!")
}

Daftarkan bucket yang berada setelah penanda tertentu

Gunakan Paginator

Anda dapat menggunakan kode berikut untuk mendaftarkan bucket yang namanya secara alfabetis setelah `example-bucket` di semua wilayah akun Anda.

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"
)

// Tentukan variabel global
var (
	region string // Wilayah tempat bucket disimpan
)

// Fungsi init digunakan untuk menginisialisasi parameter baris perintah
func init() {
	flag.StringVar(&region, "region", "", "Wilayah tempat bucket berada.")
}

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

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

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

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

	// Buat permintaan untuk mendaftarkan bucket
	request := &oss.ListBucketsRequest{
		Marker: oss.Ptr("example-bucket"), // Atur penanda ke "example-bucket". Operasi daftar dimulai dari penanda ini.
	}

	// Buat paginator
	p := client.NewListBucketsPaginator(request)

	var i int
	log.Println("Bucket:")

	// Telusuri setiap halaman dalam paginator
	for p.HasNext() {
		i++

		// Dapatkan data halaman berikutnya
		page, err := p.NextPage(context.TODO())
		if err != nil {
			log.Fatalf("gagal mendapatkan halaman %v, %v", i, err)
		}

		// Cetak informasi setiap bucket pada halaman
		for _, b := range page.Buckets {
			log.Printf("Bucket: %v, StorageClass: %v, Lokasi: %v\n", oss.ToString(b.Name), oss.ToString(b.StorageClass), oss.ToString(b.Location))
		}
	}
}

Gunakan ListBuckets

Anda dapat menggunakan kode berikut untuk mendaftarkan bucket yang namanya secara alfabetis setelah `example-bucket` di semua wilayah akun Anda.

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"
)

// Tentukan variabel global
var (
	region string // Wilayah tempat bucket disimpan
)

// Fungsi init digunakan untuk menginisialisasi parameter baris perintah
func init() {
	flag.StringVar(&region, "region", "", "Wilayah tempat bucket berada.")
}

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

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

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

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

	var marker string = "example-bucket"

	// Buat permintaan ListBucketsRequest
	request := &oss.ListBucketsRequest{
		Marker: &marker,
	}

	// Daftarkan semua bucket di semua wilayah akun saat ini
	for {
		lsRes, err := client.ListBuckets(context.TODO(), request)
		if err != nil {
			log.Fatalf("Gagal mendaftarkan bucket: %v", err)
		}

		for _, bucket := range lsRes.Buckets {
			log.Printf("Bucket: %s", *bucket.Name)
		}

		if !lsRes.IsTruncated {
			break
		}
		request.Marker = lsRes.NextMarker
	}

	log.Println("Daftarkan bucket berhasil!")
}

Mencantumkan sejumlah bucket yang ditentukan

Gunakan Paginator

Anda dapat menggunakan kode berikut untuk mendaftarkan bucket di semua wilayah akun Anda dan menentukan jumlah maksimum bucket yang dikembalikan untuk setiap halaman.

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"
)

// Tentukan variabel global
var (
	region string // Wilayah tempat bucket disimpan
)

// Fungsi init digunakan untuk menginisialisasi parameter baris perintah
func init() {
	flag.StringVar(&region, "region", "", "Wilayah tempat bucket berada.")
}

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

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

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

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

	// Buat permintaan untuk mendaftarkan bucket
	request := &oss.ListBucketsRequest{
		MaxKeys: 5, // Atur jumlah bucket yang dikembalikan untuk setiap halaman menjadi 5.
	}

	// Buat paginator
	p := client.NewListBucketsPaginator(request)

	var i int
	log.Println("Bucket:")

	// Telusuri setiap halaman dalam paginator
	for p.HasNext() {
		i++

		// Dapatkan data halaman berikutnya
		page, err := p.NextPage(context.TODO())
		if err != nil {
			log.Fatalf("gagal mendapatkan halaman %v, %v", i, err)
		}

		// Cetak informasi setiap bucket pada halaman
		for _, b := range page.Buckets {
			log.Printf("Bucket: %v, StorageClass: %v, Lokasi: %v\n", oss.ToString(b.Name), oss.ToString(b.StorageClass), oss.ToString(b.Location))
		}
	}

}

Gunakan ListBuckets

Anda dapat menggunakan kode berikut untuk mendaftarkan bucket di semua wilayah akun Anda dan menentukan jumlah maksimum bucket yang dikembalikan untuk setiap halaman.

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"
)

// Tentukan variabel global
var (
	region string // Wilayah tempat bucket disimpan
)

// Fungsi init digunakan untuk menginisialisasi parameter baris perintah
func init() {
	flag.StringVar(&region, "region", "", "Wilayah tempat bucket berada.")
}

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

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

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

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

	// Buat permintaan ListBucketsRequest
	request := &oss.ListBucketsRequest{
		MaxKeys: 10, // Jumlah maksimum bucket yang dikembalikan untuk setiap operasi daftar.
	}

	// Daftarkan semua bucket di semua wilayah akun saat ini
	for {
		lsRes, err := client.ListBuckets(context.TODO(), request)
		if err != nil {
			log.Fatalf("Gagal mendaftarkan bucket: %v", err)
		}

		for _, bucket := range lsRes.Buckets {
			log.Printf("Bucket: %s", *bucket.Name)
		}

		if !lsRes.IsTruncated {
			break
		}
		request.Marker = lsRes.NextMarker
	}

	log.Println("Daftarkan bucket berhasil!")
}

Daftarkan semua bucket dalam kelompok sumber daya tertentu

Gunakan Paginator

  1. Jika Anda menentukan ID kelompok sumber daya ResourceGroupId dalam parameter permintaan, OSS mengembalikan semua bucket yang termasuk dalam kelompok sumber daya tersebut.

  2. Jika Anda tidak menentukan ID kelompok sumber daya ResourceGroupId dalam parameter permintaan, OSS mengembalikan semua bucket yang dimiliki oleh peminta.

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"
)

// Tentukan variabel global
var (
	region string // Wilayah tempat bucket disimpan
)

// Fungsi init digunakan untuk menginisialisasi parameter baris perintah
func init() {
	flag.StringVar(&region, "region", "", "Wilayah tempat bucket berada.")
}

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

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

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

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

	// Buat permintaan untuk mendaftarkan bucket
	request := &oss.ListBucketsRequest{
		ResourceGroupId: oss.Ptr("rg-aek27tc********"), // Daftarkan bucket dalam kelompok sumber daya tertentu.
	}

	// Buat paginator
	p := client.NewListBucketsPaginator(request)

	var i int
log.Println("Bucket:")

	// Telusuri setiap halaman dalam paginator
	for p.HasNext() {
		i++

		// Dapatkan data halaman berikutnya
		page, err := p.NextPage(context.TODO())
		if err != nil {
			log.Fatalf("gagal mendapatkan halaman %v, %v", i, err)
		}

		// Cetak informasi setiap bucket pada halaman
		for _, b := range page.Buckets {
			log.Printf("Bucket: %v, StorageClass: %v, Lokasi: %v, ResourceGroupId: %v\n", oss.ToString(b.Name), oss.ToString(b.StorageClass), oss.ToString(b.Location), oss.ToString(b.ResourceGroupId))
		}
	}

}

Gunakan ListBuckets

  1. Jika Anda menentukan ID kelompok sumber daya ResourceGroupId dalam parameter permintaan, OSS mengembalikan semua bucket yang termasuk dalam kelompok sumber daya tersebut.

  2. Jika Anda tidak menentukan ID kelompok sumber daya ResourceGroupId dalam parameter permintaan, OSS mengembalikan semua bucket yang dimiliki oleh peminta.

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"
)

// Tentukan variabel global
var (
	region string // Wilayah tempat bucket disimpan
)

// Fungsi init digunakan untuk menginisialisasi parameter baris perintah
func init() {
	flag.StringVar(&region, "region", "", "Wilayah tempat bucket berada.")
}

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

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

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

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

	// Buat permintaan ListBucketsRequest
	request := &oss.ListBucketsRequest{
		MaxKeys:         10,
		ResourceGroupId: oss.Ptr("rg-aek27tc********"), // Daftarkan bucket dalam kelompok sumber daya tertentu.
	}

	// Daftarkan semua bucket di semua wilayah akun saat ini
	for {
		lsRes, err := client.ListBuckets(context.TODO(), request)
		if err != nil {
			log.Fatalf("Gagal mendaftarkan bucket: %v", err)
		}

		for _, bucket := range lsRes.Buckets {
			log.Printf("Bucket: %s, StorageClass: %v, Lokasi: %v, ResourceGroupId: %v\n", oss.ToString(bucket.Name), oss.ToString(bucket.StorageClass), oss.ToString(bucket.Location), oss.ToString(bucket.ResourceGroupId))
		}

		if !lsRes.IsTruncated {
			break
		}
		request.Marker = lsRes.NextMarker
	}

	log.Println("Daftarkan bucket berhasil!")
}

Referensi

  • Untuk kode contoh lengkap untuk mendaftarkan bucket, lihat Contoh GitHub.

  • Untuk informasi lebih lanjut tentang operasi API untuk mendaftarkan bucket (Edisi Premium), lihat NewListBucketsPaginator.

  • Untuk informasi lebih lanjut tentang operasi API untuk mendaftarkan bucket (Edisi Dasar), lihat ListBuckets.

  • Untuk informasi lebih lanjut tentang paginator, lihat Panduan Pengembang.