Este tema describe cómo usar Object Storage Service (OSS) SDK for Go para consultar la información de un bucket, como el estado del seguimiento de acceso, la región, la fecha de creación, la lista de control de acceso (ACL), el nombre y el ID del propietario, la clase de almacenamiento, el tipo de redundancia, el endpoint público, el endpoint interno, el estado de cross-region replication (CRR), el estado del control de versiones y el método de cifrado. Esta información le permite ejecutar las operaciones posteriores.
Notas de uso
El código de ejemplo de este tema usa el ID de región
cn-hangzhou, correspondiente a China (Hangzhou). De forma predeterminada, se usa el endpoint público para acceder a los recursos de un bucket. Si necesita acceder a dichos recursos mediante otros servicios de Alibaba Cloud ubicados en la misma región que el bucket, use el endpoint interno. Para más información sobre las regiones y los endpoints de OSS, consulte Regions and endpoints.En este tema, las credenciales de acceso se obtienen de variables de entorno. Para más información sobre cómo configurar las credenciales de acceso, consulte Configure access credentials.
Para consultar la información de un bucket, es obligatorio contar con el permiso
oss:GetBucketInfo. Para más información, consulte Grant a custom policy.
Método
func (c *Client) GetBucketInfo(ctx context.Context, request *GetBucketInfoRequest, optFns ...func(*Options)) (*GetBucketInfoResult, error)
Parámetros de solicitud
|
Parámetro |
Tipo |
Descripción |
|
ctx |
context.Context |
Contexto de la solicitud. Sirve para especificar la duración total de la operación. |
|
request |
*GetBucketInfoRequest |
Especifica los parámetros de una operación concreta. Para más información, consulte GetBucketInfoRequest. |
|
optFns |
...func(*Options) |
Opcional. Parámetro de la operación. Para más información, consulte Options. |
Parámetros de respuesta
|
Parámetro de respuesta |
Tipo |
Descripción |
|
result |
*GetBucketInfoResult |
Respuesta de la operación. Este parámetro es válido cuando el valor de err es nil. Para más información, consulte GetBucketInfoResult. |
|
err |
error |
Estado de la solicitud. Si la solicitud finaliza con errores, el valor de err no puede ser nil. |
Ejemplos
A continuación se muestra un ejemplo de código para consultar la información de un 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 comunes de la información del bucket
|
Parámetro |
Descripción |
|
BucketInfo.Name |
Nombre del bucket. |
|
BucketInfo.AccessMonitor |
Estado del seguimiento de acceso del bucket. |
|
BucketInfo.Location |
Región donde se ubica el bucket de OSS. |
|
BucketInfo.CreationDate |
Fecha de creación del bucket. |
|
BucketInfo.ExtranetEndpoint |
Endpoint público del bucket. |
|
BucketInfo.IntranetEndpoint |
Endpoint interno. Lo utiliza una instancia de Elastic Compute Service (ECS) ubicada en la misma región que el bucket para acceder a él. |
|
BucketInfo.ACL |
ACL del bucket. |
|
BucketInfo.RedundancyType |
Tipo de redundancia del bucket. |
|
BucketInfo.Owner |
Incluye a continuación parámetros:
|
|
BucketInfo.StorageClass |
Clase de almacenamiento del bucket. |
|
BucketInfo.SseRule |
Incluye a continuación parámetros:
|
|
BucketInfo.Versioning |
Estado del control de versiones del bucket. |
|
BucketInfo.CrossRegionReplication |
Estado de cross-region replication (CRR) del bucket. |
Referencias
Para más información sobre los buckets, consulte Bucket overview.
Para ver el código de ejemplo completo que sirve para consultar la información de un bucket, visite GitHub.
Para más información sobre la operación de API que permite consultar la información de un bucket, consulte GetBucketInfo.