Todos os produtos
Search
Central de documentação

Object Storage Service:Consultar informações de um bucket com o OSS SDK for Go 2.0

Última atualização: Sep 22, 2026

Este tópico descreve como usar o Object Storage Service (OSS) SDK for Go para consultar informações de um bucket, como estado de rastreamento de acesso, região, data de criação, lista de controle de acesso (ACL), nome e ID do proprietário, classe de armazenamento, tipo de redundância, endpoint público, endpoint interno, estado de replicação entre regiões (CRR), estado de versionamento e método de criptografia. Essas informações ajudam a realizar operações subsequentes.

Observações de uso

  • O código de exemplo neste tópico utiliza o ID de região cn-hangzhou da região china (Hangzhou). Por padrão, o endpoint público é usado para acessar recursos em um bucket. Para acessar recursos no bucket por meio de outros serviços Alibaba Cloud na mesma região do bucket, use o endpoint interno. Para mais informações sobre regiões e endpoints do OSS, consulte Regions and endpoints.

  • Neste tópico, as credenciais de acesso são obtidas a partir de variáveis de ambiente. Para mais informações sobre como configure as credenciais de acesso, consulte Configure access credentials.

  • Para consultar informações de um bucket, é necessário ter a permissão oss:GetBucketInfo. Para mais informações, consulte Grant a custom policy.

Método

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

Parâmetros da requisição

Parâmetro

Tipo

Descrição

ctx

context.Context

O contexto da requisição. Pode ser usado para especifique a duração total da requisição.

request

*GetBucketInfoRequest

Parâmetros de uma operação específica.

Para mais informações, consulte GetBucketInfoRequest.

optFns

...func(*Options)

Opcional. Parâmetro em nível de operação.

Para mais informações, consulte Options.

Parâmetros da resposta

Parâmetro da resposta

Tipo

Descrição

result

*GetBucketInfoResult

A resposta da operação. Este parâmetro é válido quando o valor de err é nil. Para mais informações, consulte GetBucketInfoResult.

err

error

O status da requisição. Se a requisição falhar, o valor de err não será nil.

Exemplos

O código de exemplo a seguir demonstra como consultar informações de um 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"
)

// Specify the global variables.
var (
	region     string // The region.
	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 OSS client.
	client := oss.NewClient(cfg)

	// Create a request to query information about the bucket.
	request := &oss.GetBucketInfoRequest{
		Bucket: oss.Ptr(bucketName), // The name of the bucket.
	}

	// Execute the request to query information about the bucket and process the result.
	result, err := client.GetBucketInfo(context.TODO(), request)
	if err != nil {
		log.Fatalf("failed to get bucket info %v", err)
	}

	// Display the information about the bucket.
	log.Printf("get bucket info result:%v\n", result.BucketInfo)
}

Parâmetros comuns de informações do bucket

Parâmetro

Descrição

BucketInfo.Name

Nome do bucket.

BucketInfo.AccessMonitor

Status de rastreamento de acesso do bucket.

BucketInfo.Location

Região em que o bucket do OSS está localizado.

BucketInfo.CreationDate

Data de criação do bucket.

BucketInfo.ExtranetEndpoint

Endpoint público do bucket.

BucketInfo.IntranetEndpoint

Endpoint interno que uma instância do Elastic Compute Service (ECS) na mesma região do bucket pode usar para acessá-lo.

BucketInfo.ACL

ACL do bucket.

BucketInfo.RedundancyType

Tipo de redundância do bucket.

BucketInfo.Owner

Inclui os seguintes parâmetros:

  • BucketInfo.Owner.ID: ID do proprietário do bucket.

  • BucketInfo.Owner.DisplayName: nome do proprietário do bucket.

BucketInfo.StorageClass

Classe de armazenamento do bucket.

BucketInfo.SseRule

Inclui os seguintes parâmetros:

  • BucketInfo.SseRule.KMSDataEncryption: indica se o Key Management Service (KMS) é usado para criptografar dados no bucket.

  • BucketInfo.SseRule.KMSMasterKeyID: ID da chave do KMS.

  • BucketInfo.SseRule.SSEAlgorithm: método padrão de criptografia no lado do servidor.

BucketInfo.Versioning

Status de versionamento do bucket.

BucketInfo.CrossRegionReplication

Status de replicação entre regiões (CRR) do bucket.

Referências

  • Para mais informações sobre buckets, consulte Bucket overview.

  • Para acesse o código de exemplo completo usado para consultar informações de um bucket, visite GitHub.

  • Para mais informações sobre a operação de API usada para consultar informações de um bucket, consulte GetBucketInfo.