Un bucket est un conteneur de stockage d'objets. Tous les objets doivent résider dans un bucket. Cette rubrique explique comment créer un bucket.
Notes d'utilisation
Cette rubrique utilise l'endpoint public de la région Chine (Hangzhou). Pour accéder à OSS depuis d'autres services Alibaba Cloud situés dans la même région, privilégiez un endpoint interne. Pour plus d'informations sur les régions et les endpoints OSS, consultez Régions et endpoints.
Les identifiants d'accès sont récupérés depuis les variables d'environnement. Pour savoir comment les configurer, consultez Configurer les identifiants d'accès.
Cette rubrique montre comment créer une instance OSSClient avec un endpoint OSS. Pour d'autres configurations, comme l'utilisation d'un domaine personnalisé ou l'authentification via des identifiants du Security Token Service (STS), consultez Configurer un client (SDK Go V1).
La création de buckets nécessite l'autorisation
oss:PutBucket. Pour plus d'informations, consultez Accorder une politique personnalisée.À partir du 13 octobre 2025 à 10 h 00 (UTC+8), OSS active progressivement par défaut la fonctionnalité Block public access pour les buckets créés via des appels d'API, des SDK OSS ou ossutil, dans toutes les régions. Consultez l'annonce pour connaître la date d'entrée en vigueur dans chaque région. Une fois cette fonctionnalité activée, vous ne pouvez pas accorder d'autorisations d'accès public, notamment via les listes de contrôle d'accès (ACL) public-read ou public-read-write, ni via des politiques de bucket autorisant l'accès public. Si votre activité nécessite un accès public, désactivez le blocage de l'accès public après la création du bucket.
Exemples
Le code suivant montre comment créer un bucket nommé 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)
}
}
Références
Pour consulter l'exemple de code complet de création de bucket, rendez-vous sur GitHub.