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-hangzhoudari 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(®ion, "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.StorageClass | Kelas penyimpanan bucket. |
BucketInfo.SseRule | Parameter berikut termasuk:
|
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.