Todos os produtos
Search
Central de documentação

Object Storage Service:Create buckets (OSS SDK for Go 1.0)

Última atualização: Sep 24, 2026

Um bucket é um contêiner para armazenar objetos. Todos os objetos devem ser armazenados em um bucket. Este tópico descreve como criar um bucket.

Observações de uso

  • Neste tópico, usamos o endpoint público da região China (Hangzhou). Para acessar o OSS a partir de outros serviços da Alibaba Cloud na mesma região do OSS, use um endpoint interno. Para obter mais informações sobre as regiões e os endpoints do OSS, consulte Regions and endpoints.

  • Neste tópico, obtemos as credenciais de acesso a partir de variáveis de ambiente. Para obter mais informações sobre como configurar as credenciais de acesso, consulte Configure access credentials.

  • Este tópico demonstra como criar uma instância OSSClient com um endpoint do OSS. Para configurações alternativas, como usar um domínio personalizado ou se autenticar com credenciais do Security Token Service (STS), consulte Configure a client (Go SDK V1).

  • A permissão oss:PutBucket é necessária para criar buckets. Para obter mais informações, consulte Grant a custom policy.

  • A partir das 10:00:00 (UTC+8) de 13 de outubro de 2025, o OSS ativará gradualmente o Block public access por padrão para buckets criados por chamadas de API ou pelo uso de OSS SDKs ou ossutil em todas as regiões. Para verificar quando a alteração entrará em vigor em cada região, consulte o Comunicado. Após a ativação desse recurso, você não poderá conceder permissões de acesso público, incluindo as ACLs public-read e public-read-write, nem políticas de bucket que permitam acesso público. Se o seu negócio exigir acesso público, desative o bloqueio de acesso público após criar o bucket.

Exemplos

O código a seguir mostra como criar um bucket chamado examplebucket:

package main

import (
	"fmt"
	"os"

	"github.com/aliyun/aliyun-oss-go-sdk/oss"
)

func main() {
	/// Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are configured. 
	provider, err := oss.NewEnvironmentVariableCredentialsProvider()
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}

	// Create an OSSClient instance. 
	// Specify the endpoint of the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com. Specify your actual endpoint.
	// Specify the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the region to cn-hangzhou. Specify the actual region.
	clientOptions := []oss.ClientOption{oss.SetCredentialsProvider(&provider)}
	clientOptions = append(clientOptions, oss.Region("yourRegion"))
	// Specify the version of the signature algorithm.
	clientOptions = append(clientOptions, oss.AuthVersion(oss.AuthV4))
	client, err := oss.New("yourEndpoint", "", "", clientOptions...)
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}

	// Create a bucket named examplebucket. Set the storage class to IA (oss.StorageIA), the ACL to public-read (oss.ACLPublicRead), and the redundancy type to ZRS (oss.RedundancyZRS). 
	err = client.CreateBucket("examplebucket", oss.StorageClass(oss.StorageIA), oss.ACL(oss.ACLPublicRead), oss.RedundancyType(oss.RedundancyZRS))
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
}

Referências

  • Para obter o código de exemplo completo usado para criar um bucket, acesse o GitHub.