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: Jul 03, 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 facilitam a execução de operações subsequentes.

Observações de uso

  • O código de exemplo deste tópico usa o ID da região cn-hangzhou, correspondente à região China (Hangzhou). Por padrão, o acesso aos recursos do bucket ocorre pelo endpoint público. Para acessar esses recursos por meio de outros serviços da Alibaba Cloud na mesma região do bucket, use o endpoint interno. Para mais detalhes sobre regiões e endpoints do OSS, consulte Regiões e endpoints.

  • Neste tópico, as credenciais de acesso são obtidas de variáveis de ambiente. Para saber como configurar essas credenciais, consulte Configurar credenciais de acesso.

  • Para consultar informações de um bucket, você precisa da permissão oss:GetBucketInfo. Para mais informações, consulte Conceder uma política personalizada.

Método

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

Parâmetros da solicitação

Parâmetro

Tipo

Descrição

ctx

context.Context

Contexto da solicitação. Use este parâmetro para especificar a duração total da operação.

request

*GetBucketInfoRequest

Define os parâmetros de uma operação específica.

Para mais informações, consulte GetBucketInfoRequest.

optFns

...func(*Options)

Opcional. Parâmetro no nível da operação.

Para mais informações, consulte Options.

Parâmetros de resposta

Parâmetro de resposta

Tipo

Descrição

result

*GetBucketInfoResult

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

err

error

Status da solicitação. Se a solicitação falhar, o valor de err não será nil.

Exemplos

O código de exemplo a seguir demonstra como consultar as 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 para 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 onde 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 permite o acesso ao bucket por uma instância do Elastic Compute Service (ECS) residente na mesma região.

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 Visão geral de buckets.

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

  • Para detalhes sobre a operação de API que consulta informações de um bucket, consulte GetBucketInfo.