全部产品
Search
文档中心

Object Storage Service:Menanyakan informasi tentang bucket menggunakan OSS SDK untuk Go 2.0

更新时间:Aug 07, 2025

Topik ini menjelaskan cara menggunakan Object Storage Service (OSS) SDK for Go untuk mengambil informasi tentang sebuah bucket, termasuk status pelacakan akses, wilayah, tanggal pembuatan, daftar kontrol akses (ACL), nama dan ID pemilik, kelas penyimpanan, tipe redundansi, titik akhir publik, titik akhir internal, status replikasi lintas wilayah (CRR), status versioning, dan metode enkripsi. Informasi ini membantu Anda melakukan operasi lebih lanjut.

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 dengan menggunakan 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.

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

  • Untuk menanyakan informasi tentang bucket, Anda harus memiliki izin oss:GetBucketInfo. Untuk informasi lebih lanjut, lihat Lampirkan Kebijakan Kustom ke Pengguna RAM.

Metode

func (c *Client) GetBucketInfo(ctx context.Context, request *GetBucketInfoRequest, optFns ...func(*Options)) (*GetBucketInfoResult, error)

Parameter permintaan

Parameter

Tipe

Deskripsi

ctx

context.Context

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

request

*GetBucketInfoRequest

Menentukan parameter operasi tertentu.

Untuk informasi lebih lanjut, lihat GetBucketInfoRequest.

optFns

...func(*Options)

Opsional. Parameter tingkat operasi.

Untuk informasi lebih lanjut, lihat Options.

Parameter respons

Parameter respons

Tipe

Deskripsi

result

*GetBucketInfoResult

Respons terhadap operasi. Parameter ini valid ketika nilai err adalah nil. Untuk informasi lebih lanjut, lihat GetBucketInfoResult.

err

error

Status permintaan. Jika permintaan gagal, nilai err tidak dapat nil.

Contoh

Berikut adalah kode contoh untuk mengambil informasi tentang sebuah 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"
)

// Tentukan variabel global.
var (
	region     string // Wilayah.
	bucketName string // Nama bucket.
)

// Tentukan fungsi init yang digunakan untuk menginisialisasi parameter baris perintah.
func init() {
	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 kosong.
	if len(bucketName) == 0 {
		flag.PrintDefaults()
		log.Fatalf("parameter tidak valid, nama bucket diperlukan")
	}

	// Periksa apakah wilayah kosong.
	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 permintaan untuk mengambil informasi tentang bucket.
	request := &oss.GetBucketInfoRequest{
		Bucket: oss.Ptr(bucketName), // Nama bucket.
	}

	// Eksekusi permintaan untuk mengambil informasi tentang bucket dan proses hasilnya.
	result, err := client.GetBucketInfo(context.TODO(), request)
	if err != nil {
		log.Fatalf("gagal mendapatkan info bucket %v", err)
	}

	// Tampilkan informasi tentang bucket.
	log.Printf("hasil info bucket:%v\n", result.BucketInfo)
}

Parameter umum untuk informasi bucket

Parameter

Deskripsi

BucketInfo.Name

Nama bucket.

BucketInfo.AccessMonitor

Status pelacakan akses bucket.

BucketInfo.Location

Wilayah tempat bucket OSS berada.

BucketInfo.CreationDate

Tanggal pembuatan bucket.

BucketInfo.ExtranetEndpoint

Titik akhir publik bucket.

BucketInfo.IntranetEndpoint

Titik akhir internal yang dapat digunakan oleh instance Elastic Compute Service (ECS) yang berada di wilayah yang sama dengan bucket untuk mengakses bucket.

BucketInfo.ACL

Daftar kontrol akses (ACL) bucket.

BucketInfo.RedundancyType

Tipe redundansi bucket.

BucketInfo.Owner

Parameter berikut termasuk:

  • BucketInfo.Owner.ID: ID pemilik bucket.

  • BucketInfo.Owner.DisplayName: nama pemilik bucket.

BucketInfo.StorageClass

Kelas penyimpanan bucket.

BucketInfo.SseRule

Parameter berikut termasuk:

  • BucketInfo.SseRule.KMSDataEncryption: apakah menggunakan Key Management Service (KMS) untuk mengenkripsi data di bucket.

  • BucketInfo.SseRule.KMSMasterKeyID: ID kunci KMS.

  • BucketInfo.SseRule.SSEAlgorithm: metode enkripsi sisi server default.

BucketInfo.Versioning

Status versioning bucket.

BucketInfo.CrossRegionReplication

Status replikasi lintas wilayah (CRR) bucket.

Referensi

  • Untuk informasi lebih lanjut tentang bucket, lihat Bucket.

  • Untuk kode contoh lengkap yang digunakan untuk mengambil informasi tentang sebuah bucket, kunjungi GitHub.

  • Untuk informasi lebih lanjut tentang operasi API yang dapat Anda panggil untuk mengambil informasi tentang sebuah bucket, lihat GetBucketInfo.