Tüm Ürünler
Search
Belge Merkezi

:OSS SDK for Go 2.0 kullanarak kaynak gruplarını yapılandırma

Son Güncelleme:Oct 01, 2026

Bu konuda, Object Storage Service (OSS) paketi için bir kaynak grubunun nasıl yapılandırılacağı ve paketin ait olduğu kaynak grubunun kimliğinin nasıl sorgulanacağı açıklanmaktadır.

Kullanım notları

  • Bu konudaki örnek kod, Çin (Hangzhou) bölgesinin bölge kimliği olan cn-hangzhou değerini kullanır. Varsayılan olarak, bir paketteki kaynaklara erişmek için genel uç nokta kullanılır. Paketle aynı bölgede bulunan diğer Alibaba Cloud hizmetlerini kullanarak paketteki kaynaklara erişmek istiyorsanız dahili uç noktayı kullanın. OSS bölgeleri ve uç noktaları hakkında daha fazla bilgi için bkz. Bölgeler ve uç noktalar.

  • Bu konuda, erişim kimlik bilgileri ortam değişkenlerinden alınır. Erişim kimlik bilgilerinin nasıl yapılandırılacağı hakkında daha fazla bilgi için bkz. Erişim kimlik bilgilerini yapılandırma.

  • Bir paket için kaynak grubu yapılandırmak üzere oss:PutBucketResourceGroup iznine sahip olmanız gerekir. Bir paketin ait olduğu kaynak grubunun kimliğini sorgulamak için oss:GetBucketResourceGroup iznine sahip olmanız gerekir. Daha fazla bilgi için bkz. Özel ilke atama.

Yöntem

Bir paket için kaynak grubu yapılandırma

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

Bir paketin ait olduğu kaynak grubunun kimliğini sorgulama

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

İstek parametreleri

Parametre

Tür

Açıklama

ctx

context.Context

İsteğin bağlamı; isteğin toplam süresini belirtmek için kullanılabilir.

request

*PutBucketResourceGroupRequest

Belirli bir API işleminin parametreleri. Daha fazla bilgi için bkz. PutBucketResourceGroupRequest.

*GetBucketResourceGroupRequest

Belirli bir API işleminin parametreleri. Daha fazla bilgi için bkz. GetBucketResourceGroupRequest.

optFns

...func(*Options)

İsteğe bağlı. İşlem düzeyindeki parametre. Daha fazla bilgi için bkz. Options.

Yanıt parametreleri

Parametre

Tür

Açıklama

result

*PutBucketResourceGroupResult

İşleme verilen yanıt. Bu parametre, err değeri nil olduğunda geçerlidir. Daha fazla bilgi için bkz. PutBucketResourceGroupResult.

*GetBucketResourceGroupRequest

İşleme verilen yanıt. Bu parametre, err değeri nil olduğunda geçerlidir. Daha fazla bilgi için bkz. GetBucketResourceGroupResult.

err

error

İsteğin durumu. İstek başarısız olursa err değeri nil olamaz.

Örnekler

Bir paket için kaynak grubu yapılandırma

Önemli

Bir kaynak grubu kimliği belirtmezseniz paket varsayılan kaynak grubuna ait olur. Paketi belirli bir kaynak grubuna eklemek istiyorsanız kaynak grubunun oluşturulduğundan emin olun. Daha fazla bilgi için bkz. Kaynak grupları oluşturma.

Aşağıdaki örnek kod, bir paket için kaynak grubunun nasıl yapılandırılacağını göstermektedir:

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

// Specify the global variables.
var (
	region     string // The region in which the bucket is located.
	bucketName string // The name of the bucket.
)

// Specify the init function used to initialize command line parameters.
func init() {
	flag.StringVar(&region, "region", "", "The region in which the bucket is located.")
	flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.")
}

func main() {
	// Parse command line parameters.
	flag.Parse()

	// Specify the ID of the resource group. If you do not specify a resource group ID, the bucket belongs to the default resource group.
	var groupId string = "rg-aekz****"

	// Check whether the bucket name is empty.
	if len(bucketName) == 0 {
		flag.PrintDefaults()
		log.Fatalf("invalid parameters, bucket name required")
	}

	// Check whether the region is empty.
	if len(region) == 0 {
		flag.PrintDefaults()
		log.Fatalf("invalid parameters, region required")
	}

	// Load the default configurations and specify the credential provider and region.
	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	// Create an OSSClient instance.
	client := oss.NewClient(cfg)

	// Create a request to configure the resource group for the bucket.
	request := &oss.PutBucketResourceGroupRequest{
		Bucket: oss.Ptr(bucketName), // The name of the bucket.
		BucketResourceGroupConfiguration: &oss.BucketResourceGroupConfiguration{
			ResourceGroupId: oss.Ptr(groupId),
		},
	}

	// Execute the request to configure the resource group for the bucket.
	result, err := client.PutBucketResourceGroup(context.TODO(), request)
	if err != nil {
		log.Fatalf("failed to put bucket resource group %v", err)
	}

	// Display the result of the request.
	log.Printf("put bucket resource group result:%#v\n", result)
}

Bir paketin ait olduğu kaynak grubunun kimliğini sorgulama

Aşağıdaki örnek kod, bir paketin ait olduğu kaynak grubunun kimliğinin nasıl sorgulanacağını göstermektedir:

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

// Specify the global variables.
var (
	region     string // The region in which the bucket is located.
	bucketName string // The name of the bucket.
)

// Specify the init function used to initialize command line parameters.
func init() {
	flag.StringVar(&region, "region", "", "The region in which the bucket is located.")
	flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.")
}

func main() {
	// Parse command line parameters.
	flag.Parse()

	// Check whether the bucket name is empty.
	if len(bucketName) == 0 {
		flag.PrintDefaults()
		log.Fatalf("invalid parameters, bucket name required")
	}

	// Check whether the region is empty.
	if len(region) == 0 {
		flag.PrintDefaults()
		log.Fatalf("invalid parameters, region required")
	}

	// Load the default configurations and specify the credential provider and region.
	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	// Create an OSSClient instance.
	client := oss.NewClient(cfg)

	// Create a request to query the ID of the resource group to which the bucket belongs.
	request := &oss.GetBucketResourceGroupRequest{
		Bucket: oss.Ptr(bucketName), // The name of the bucket.
	}

	// Execute the request to query the ID of the resource group to which the bucket belongs and process the results.
	result, err := client.GetBucketResourceGroup(context.TODO(), request)
	if err != nil {
		log.Fatalf("failed to get bucket resource group %v", err)
	}

	// Display the result of the request.
	log.Printf("get bucket resource group id:%#v\n", *result.BucketResourceGroupConfiguration.ResourceGroupId)
}

Referanslar

  • Bir paket için kaynak grubu yapılandırmak üzere kullanılan tam örnek kod için GitHub adresini ziyaret edin.

  • Bir paket için kaynak grubu yapılandırmak üzere çağırabileceğiniz API işlemi hakkında daha fazla bilgi için PutBucketResourceGroup adresini ziyaret edin.

  • Bir paketin ait olduğu kaynak grubunun kimliğini sorgulamak için kullanılan tam örnek kod için GitHub adresini ziyaret edin.

  • Bir paketin ait olduğu kaynak grubunun kimliğini sorgulamak üzere çağırabileceğiniz API işlemi hakkında daha fazla bilgi için GetBucketResourceGroup adresini ziyaret edin.