Este tópico descreve como consultar o uso de armazenamento de um bucket específico do Object Storage Service (OSS), bem como a quantidade e o volume ocupado por objetos de diferentes classes de armazenamento nesse bucket.
Observações de uso
O código de exemplo deste tópico usa o ID de região
cn-hangzhou, correspondente à região China (Hangzhou). Por padrão, o acesso aos recursos do bucket ocorre via 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 informações 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.
Método
func (c *Client) GetBucketStat(ctx context.Context, request *GetBucketStatRequest, optFns ...func(*Options)) (*GetBucketStatResult, error)
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Descrição |
|
ctx |
context.Context |
Contexto da solicitação. Use este parâmetro para definir a duração total da operação. |
|
request |
*GetBucketStatRequest |
Define os parâmetros da operação de API específica, como o nome do bucket. Para mais informações, consulte GetBucketStatRequest. |
|
optFns |
...func(*Options) |
Opcional. Parâmetro no nível da operação. Para mais detalhes, consulte Options. |
Parâmetros de resposta
|
Parâmetro de resposta |
Tipo |
Descrição |
|
result |
*GetBucketStatResult |
Resposta da operação. Este parâmetro é válido quando o valor de err é nil. Para mais informações, consulte GetBucketStatResult. |
|
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 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(®ion, "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 uso de armazenamento do bucket
|
Parâmetro |
Descrição |
|
Storage |
Uso total de armazenamento do bucket. Unidade: bytes. |
|
ObjectCount |
Quantidade total de objetos no bucket. |
|
MultipartUploadCount |
Número de tarefas de upload multipart iniciadas, mas ainda não concluídas ou canceladas. |
|
LiveChannelCount |
Total de LiveChannels no bucket. |
|
LastModifiedTime |
Timestamp UNIX (em segundos) da última modificação das informações obtidas. |
|
StandardStorage |
Volume ocupado por objetos da classe Standard no bucket. Unidade: bytes. |
|
StandardObjectCount |
Quantidade de objetos da classe Standard no bucket. |
|
InfrequentAccessStorage |
Uso faturável de armazenamento de objetos Infrequent Access (IA) no bucket. Unidade: bytes. |
|
InfrequentAccessRealStorage |
Uso real de armazenamento de objetos IA no bucket. Unidade: bytes. |
|
InfrequentAccessObjectCount |
Total de objetos IA no bucket. |
|
ArchiveStorage |
Uso faturável de armazenamento de objetos Archive no bucket. Unidade: bytes. |
|
ArchiveRealStorage |
Uso real de armazenamento de objetos Archive no bucket. Unidade: bytes. |
|
ArchiveObjectCount |
Quantidade de objetos Archive no bucket. |
|
ColdArchiveStorage |
Uso faturável de armazenamento de objetos Cold Archive no bucket. Unidade: bytes. |
|
ColdArchiveRealStorage |
Uso real de armazenamento de objetos Cold Archive no bucket. Unidade: bytes. |
|
ColdArchiveObjectCount |
Total de objetos Cold Archive no bucket. |
Referências
Para obter o código de exemplo completo usado na consulta de informações do bucket, visite o GitHub.
Para mais detalhes sobre a operação de API usada para consultar informações do bucket, consulte GetBucketStat.