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(®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 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.StorageClass |
Classe de armazenamento do bucket. |
|
BucketInfo.SseRule |
Inclui os seguintes parâmetros:
|
|
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.