Todos los productos
Search
Centro de documentos

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

Última actualización: Sep 23, 2026

Un bucket es un contenedor para almacenar objetos. Todos los objetos deben almacenarse en un bucket. En este tema se describe cómo crear un bucket.

Notas de uso

  • En este tema se utiliza el endpoint público de la región China (Hangzhou). Si desea acceder a OSS desde otros servicios de Alibaba Cloud en la misma región que OSS, utilice un endpoint interno. Para obtener 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 obtener más información sobre cómo configurar las credenciales de acceso, consulte Configure access credentials.

  • Este tema muestra cómo crear una instancia de OSSClient con un endpoint de OSS. Para conocer configuraciones alternativas, como usar un dominio personalizado o autenticarse con credenciales de Security Token Service (STS), consulte Configure a client (Go SDK V1).

  • El permiso oss:PutBucket es obligatorio para crear buckets. Para obtener más información, consulte Grant a custom policy.

  • A partir de las 10:00:00 (UTC+8) del 13 de octubre de 2025, OSS habilitará gradualmente Block public access de forma predeterminada en los buckets creados mediante llamadas a operaciones de API, OSS SDKs u ossutil en todas las regiones. Para conocer la fecha exacta en que el cambio entrará en vigor en cada región, consulte Anuncio. Una vez habilitada esta función, no podrá otorgar permisos de acceso público, lo que incluye la ACL public-read o public-read-write y las políticas de bucket que permiten el acceso público. Si su negocio requiere acceso público, deshabilite el bloqueo de acceso público después de crear el bucket.

Ejemplos

A continuación se muestra un ejemplo de cómo crear un bucket llamado 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)
	}
}

Referencias

  • Para consultar el código de ejemplo completo que se usa para crear un bucket, visite GitHub.