Um bucket é um contêiner para armazenar objetos. Este tópico descreve como crie um bucket.
Observações de uso
O código de exemplo neste 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 os recursos do bucket por meio de outros serviços da Alibaba Cloud na mesma região, 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 configure as credenciais de acesso, consulte Configurar credenciais de acesso.
Permissões
Por padrão, uma conta Alibaba Cloud tem permissões totais. Usuários ram ou funções ram vinculados a essa conta não têm permissões por padrão. A conta Alibaba Cloud ou o administrador deve conceder as permissões operacionais por meio de políticas do ram ou Bucket Policy.
|
API |
Ação |
Descrição |
|
PutBucket |
|
Cria um bucket. |
|
|
Após crie o bucket, essa permissão é necessária para modifique a ACL do bucket. |
Método
func (c *Client) PutBucket(ctx context.Context, request *PutBucketRequest, optFns ...func(*Options)) (*PutBucketResult, error)
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Descrição |
|
ctx |
context.Context |
Contexto da solicitação. Use-o para especifique a duração total da requisição. |
|
request |
*PutBucketRequest |
Especifica os parâmetros de uma operação específica. Para mais informações, consulte PutBucketRequest. |
|
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 |
*PutBucketResult |
Resposta da operação. Esse parâmetro é válido quando o valor de err é nil. Para mais informações, consulte PutBucketResult. |
|
err |
error |
Status da solicitação. Se a solicitação falhar, o valor de err não será nil. |
Exemplo
O código de exemplo a seguir mostra como crie 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)
request := &oss.PutBucketRequest{
Bucket: oss.Ptr(bucketName), // The name of the bucket.
}
// Send a request to create a bucket.
result, err := client.PutBucket(context.TODO(), request)
if err != nil {
log.Fatalf("failed to put bucket %v", err)
}
// Display the result of the bucket creation.
log.Printf("put bucket result:%#v\n", result)
}