全部产品
Search
文档中心

Object Storage Service:Kelompok Sumber Daya (Go SDK V2)

更新时间:Nov 09, 2025

Topik ini menjelaskan cara mengonfigurasi kelompok sumber daya untuk bucket serta mendapatkan ID kelompok sumber daya tempat bucket tersebut berada.

Catatan penggunaan

  • Kode contoh dalam topik ini menggunakan ID Wilayah cn-hangzhou dari Wilayah Hangzhou, Tiongkok sebagai contoh. Titik akhir publik digunakan secara default. Jika Anda ingin mengakses OSS dari produk 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.

  • Topik ini memberikan contoh memperoleh kredensial akses dari variabel lingkungan. Untuk informasi lebih lanjut tentang cara mengonfigurasi kredensial akses, lihat Konfigurasikan Kredensial Akses.

  • Untuk mengonfigurasi kelompok sumber daya untuk bucket, Anda harus memiliki izin oss:PutBucketResourceGroup. Untuk menanyakan ID kelompok sumber daya dari bucket, Anda harus memiliki izin oss:GetBucketResourceGroup. Untuk informasi lebih lanjut, lihat Lampirkan Kebijakan Kustom ke Pengguna RAM.

Definisi metode

Konfigurasikan kelompok sumber daya untuk bucket

func (c *Client) PutBucketResourceGroup(ctx context.Context, request *PutBucketResourceGroupRequest, optFns ...func(*Options)) (*PutBucketResourceGroupResult, error)

Peroleh ID kelompok sumber daya untuk bucket

func (c *Client) GetBucketResourceGroup(ctx context.Context, request *GetBucketResourceGroupRequest, optFns ...func(*Options)) (*GetBucketResourceGroupResult, error)

Parameter permintaan

Parameter

Tipe

Deskripsi

ctx

context.Context

Konteks permintaan. Anda dapat menggunakan parameter ini untuk menetapkan total waktu habis untuk permintaan.

request

*PutBucketResourceGroupRequest

Parameter permintaan Operasi API. Untuk informasi lebih lanjut, lihat PutBucketResourceGroupRequest

*GetBucketResourceGroupRequest

Parameter permintaan Operasi API. Untuk informasi lebih lanjut, lihat GetBucketResourceGroupRequest

optFns

...func(*Options)

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

Nilai kembali

Nilai kembali

Tipe

Deskripsi

result

*PutBucketResourceGroupResult

Nilai kembali Operasi API. Parameter ini valid ketika err adalah nil. Untuk informasi lebih lanjut, lihat PutBucketResourceGroupResult

*GetBucketResourceGroupRequest

Nilai kembali Operasi API. Parameter ini valid ketika err adalah nil. Untuk informasi lebih lanjut, lihat GetBucketResourceGroupResult

err

error

Status permintaan. Jika permintaan gagal, err tidak nil.

Contoh

Konfigurasikan kelompok sumber daya untuk bucket

Penting

Jika Anda tidak menentukan ID kelompok sumber daya saat mengonfigurasi kelompok sumber daya untuk bucket, bucket akan ditambahkan ke kelompok sumber daya default. Jika Anda ingin menambahkan bucket ke kelompok sumber daya tertentu, pastikan bahwa kelompok sumber daya telah dibuat. Untuk informasi lebih lanjut, lihat Buat Kelompok Sumber Daya.

Berikut ini adalah kode contoh yang menunjukkan cara mengonfigurasi kelompok sumber daya untuk 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 tempat bucket berada.
	bucketName string // Nama bucket.
)

// Fungsi init 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()

	// Tentukan ID kelompok sumber daya. Jika Anda tidak menentukan ID kelompok sumber daya, bucket akan ditambahkan ke kelompok sumber daya default.
	var groupId string = "rg-aekz****"

	// 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 atur penyedia kredensial dan wilayah.
	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

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

	// Buat permintaan untuk menetapkan kelompok sumber daya untuk bucket.
	request := &oss.PutBucketResourceGroupRequest{
		Bucket: oss.Ptr(bucketName), // Nama bucket.
		BucketResourceGroupConfiguration: &oss.BucketResourceGroupConfiguration{
			ResourceGroupId: oss.Ptr(groupId),
		},
	}

	// Kirim permintaan untuk menetapkan kelompok sumber daya untuk bucket.
	result, err := client.PutBucketResourceGroup(context.TODO(), request)
	if err != nil {
		log.Fatalf("gagal menetapkan kelompok sumber daya bucket %v", err)
	}

	// Cetak hasil penyetelan kelompok sumber daya untuk bucket.
	log.Printf("hasil penyetelan kelompok sumber daya bucket:%#v\n", result)
}

Peroleh ID kelompok sumber daya untuk bucket

Berikut ini adalah kode contoh yang menunjukkan cara memperoleh ID kelompok sumber daya dari 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 tempat bucket berada.
	bucketName string // Nama bucket.
)

// Fungsi init 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 atur penyedia kredensial dan wilayah.
	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

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

	// Buat permintaan untuk memperoleh ID kelompok sumber daya untuk bucket.
	request := &oss.GetBucketResourceGroupRequest{
		Bucket: oss.Ptr(bucketName), // Nama bucket.
	}

	// Eksekusi operasi untuk memperoleh ID kelompok sumber daya untuk bucket dan proses hasilnya.
	result, err := client.GetBucketResourceGroup(context.TODO(), request)
	if err != nil {
		log.Fatalf("gagal mendapatkan kelompok sumber daya bucket %v", err)
	}

	// Cetak hasil memperoleh ID kelompok sumber daya untuk bucket.
	log.Printf("dapatkan ID kelompok sumber daya bucket:%#v\n", *result.BucketResourceGroupConfiguration.ResourceGroupId)
}

Referensi

  • Untuk kode contoh lengkap tentang cara mengonfigurasi kelompok sumber daya untuk bucket, lihat Contoh GitHub.

  • Untuk informasi lebih lanjut tentang Operasi API untuk mengonfigurasi kelompok sumber daya untuk bucket, lihat PutBucketResourceGroup.

  • Untuk kode contoh lengkap tentang cara memperoleh ID kelompok sumber daya dari bucket, lihat Contoh GitHub.

  • Untuk informasi lebih lanjut tentang Operasi API untuk memperoleh ID kelompok sumber daya dari bucket, lihat GetBucketResourceGroup.