Todos os produtos
Search
Central de documentação

Object Storage Service:Criar buckets com o OSS SDK for Go 2.0

Última atualização: Jul 03, 2026

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

    oss:PutBucket

    Cria um bucket.

    oss:PutBucketAcl

    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(&region, "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)
    }
    

    Referências

    • Para obter o código de exemplo completo de criação de bucket, acesse o GitHub.

    • Para mais detalhes sobre a operação de API usada para crie um bucket, consulte PutBucket.