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-hangzhouda 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(®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 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.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 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.