Todos os produtos
Search
Central de documentação

Object Storage Service:Query the storage usage of a bucket using OSS SDK for Go 2.0

Última atualização: Sep 22, 2026

Este tópico descreve como consultar o uso de armazenamento de um bucket específico do Object Storage Service (OSS), bem como o número e o uso de armazenamento de objetos de diferentes classes de armazenamento no bucket.

Observações de uso

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

  • Neste tópico, obtenha as credenciais de acesso a partir de variáveis de ambiente. Para obter mais informações sobre como configurar as credenciais de acesso, consulte Configure access credentials.

Método

func (c *Client) GetBucketStat(ctx context.Context, request *GetBucketStatRequest, optFns ...func(*Options)) (*GetBucketStatResult, error)

Parâmetros da requisição

Parâmetro

Tipo

Descrição

ctx

context.Context

O contexto da requisição. Use este parâmetro para especificar a duração total da requisição.

request

*GetBucketStatRequest

Especifique os parâmetros de uma operação de API específica, como o nome do bucket. Para obter mais informações, consulte GetBucketStatRequest.

optFns

...func(*Options)

Opcional. O parâmetro no nível da operação. Para obter mais informações, consulte Options.

Parâmetros de resposta

Parâmetro de resposta

Tipo

Descrição

result

*GetBucketStatResult

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

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 mostra como consultar o uso de armazenamento 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 the storage usage of the bucket.
	request := &oss.GetBucketStatRequest{
		Bucket: oss.Ptr(bucketName), // The name of the bucket.
	}

	// Execute the request to query the storage usage of the bucket and process the result.
	result, err := client.GetBucketStat(context.TODO(), request)
	if err != nil {
		log.Fatalf("failed to get bucket stat %v", err)
	}

	// Display the storage usage of the bucket.
	log.Printf("get bucket stat result:%#v\n", result)
}

Parâmetros comuns para o uso de armazenamento do bucket

Parâmetro

Descrição

Storage

O uso total de armazenamento do bucket. Unidade: bytes.

ObjectCount

O número total de objetos no bucket.

MultipartUploadCount

O número de tarefas de upload multipart iniciadas, mas não concluídas ou canceladas.

LiveChannelCount

O número de LiveChannels no bucket.

LastModifiedTime

A hora da última modificação das informações obtidas. O valor é um carimbo de data/hora UNIX. Unidade: segundos.

StandardStorage

O uso de armazenamento de objetos Standard no bucket. Unidade: bytes.

StandardObjectCount

O número de objetos Standard no bucket.

InfrequentAccessStorage

O uso de armazenamento faturado de objetos Infrequent Access (IA) no bucket. Unidade: bytes.

InfrequentAccessRealStorage

O uso real de armazenamento de objetos IA no bucket. Unidade: bytes.

InfrequentAccessObjectCount

O número de objetos IA no bucket.

ArchiveStorage

O uso de armazenamento faturado de objetos Archive no bucket. Unidade: bytes.

ArchiveRealStorage

O uso real de armazenamento de objetos Archive no bucket. Unidade: bytes.

ArchiveObjectCount

O número de objetos Archive no bucket.

ColdArchiveStorage

O uso de armazenamento faturado de objetos Cold Archive no bucket. Unidade: bytes.

ColdArchiveRealStorage

O uso real de armazenamento de objetos Cold Archive no bucket. Unidade: bytes.

ColdArchiveObjectCount

O número de objetos Cold Archive no bucket.

Referências

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

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