Tous les produits
Search
Centre de documentation

Object Storage Service:Supprimer des buckets à l'aide d'OSS SDK for Go 2.0

Dernière mise à jour :Aug 18, 2026

Supprimez un bucket Object Storage Service (OSS) dont vous n'avez plus besoin afin d'éviter des frais inutiles.

Notes

  • Le code exemple de cette rubrique utilise par défaut l'ID de région cn-hangzhou de la région Chine (Hangzhou) et le point de terminaison public. Pour accéder aux ressources du bucket depuis d'autres services Alibaba Cloud situés dans la même région, utilisez le point de terminaison interne. Pour en savoir plus sur les régions et les points de terminaison OSS, consultez la page Régions et points de terminaison OSS.

  • Les identifiants d'accès sont récupérés à partir des variables d'environnement. Pour savoir comment configurer les identifiants d'accès, consultez la page Configurer les identifiants d'accès.

  • Les noms de bucket doivent être uniques. Une fois un bucket supprimé, son nom devient disponible pour une utilisation par d'autres utilisateurs. Si vous souhaitez conserver ce nom, videz le bucket au lieu de le supprimer.

  • Il est impossible de restaurer un bucket supprimé. Avant de supprimer un bucket, assurez-vous que les données ne sont plus nécessaires ou sauvegardez-les au préalable. Pour plus d'informations, consultez la page Sauvegarder des buckets.

  • L'autorisation oss:DeleteBucket est requise pour supprimer un bucket. Pour plus d'informations, consultez la page Accorder une politique personnalisée.

Autorisations

Par défaut, un compte Alibaba Cloud dispose de toutes les autorisations. Les utilisateurs RAM ou les rôles RAM associés à un compte Alibaba Cloud ne disposent d'aucune autorisation par défaut. Le compte Alibaba Cloud ou l'administrateur du compte doit accorder les autorisations d'opération via des politiques RAM ou une Bucket Policy.

API

Action

Description

DeleteBucket

oss:DeleteBucket

Supprime un bucket.

Remarque

Si un utilisateur RAM dispose de l'autorisation oss:DeleteBucket dans une politique RAM mais ne parvient pas à supprimer le bucket, il se peut qu'une Bucket Policy associée à cet utilisateur RAM contienne oss:DeleteBucket avec l'effet défini sur Deny. Modifiez Deny en Allow ou supprimez la Bucket Policy pour résoudre le problème.

Prérequis

  • Tous les objets du bucket ont été supprimés.

    Important

    Pour supprimer un bucket versionné, assurez-vous que toutes les versions actuelles et précédentes des objets contenus dans le bucket ont été supprimées. Pour plus d'informations, consultez la page Versioning.

    • Si le bucket contient peu d'objets, nous vous recommandons de les supprimer manuellement. Pour plus d'informations, consultez la page Supprimer des objets.

    • Si le bucket contient un grand nombre d'objets, nous vous recommandons de configurer des règles de cycle de vie pour les supprimer. Pour plus d'informations, consultez la page Cycle de vie.

  • Les parties générées par les tâches de téléchargement multipart ou de reprise dans le bucket ont été supprimées. Pour plus d'informations, consultez la page Supprimer des parties.

Méthode

func (c *Client) DeleteBucket(ctx context.Context, request *DeleteBucketRequest, optFns ...func(*Options)) (*DeleteBucketResult, error)

Paramètres de la requête

Paramètre

Type

Description

ctx

context.Context

Contexte de la requête, utilisé pour spécifier la durée totale de la requête.

request

*DeleteBucketRequest

Paramètres d'une opération API spécifique. Pour plus d'informations, consultez la page DeleteBucketRequest.

optFns

...func(*Options)

Facultatif. Paramètre au niveau de l'opération. Pour plus d'informations, consultez la page Options.

Paramètres de la réponse

Paramètre

Type

Description

result

*DeleteBucketResult

Réponse à l'opération. Valide lorsque err est nul. Pour plus d'informations, consultez la page DeleteBucketResult.

err

error

Statut d'erreur. Une valeur non nulle indique un échec de la requête.

Code exemple

Le code exemple suivant permet de supprimer un 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"
)

var (
	region     string
	bucketName string
)

func init() {
	// Define command line parameters to specify the region and name of the bucket.
	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 name of the bucket is specified.
	if len(bucketName) == 0 {
		flag.PrintDefaults()
		log.Fatalf("invalid parameters, bucket name required")
	}

	// Check whether the region is specified.
	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)

	// Create a request object for deletion.
	request := &oss.DeleteBucketRequest{
		Bucket: oss.Ptr(bucketName),
	}

	// Call the DeleteBucket method.
	result, err := client.DeleteBucket(context.TODO(), request)
	if err != nil {
		log.Fatalf("failed to delete bucket %v", err)
	}

	// Display the result.
	log.Printf("delete bucket result:%#v\n", result)
}

Références

  • Pour consulter le code exemple complet de suppression d'un bucket, rendez-vous sur la page Exemple GitHub.

  • Pour la référence API relative à la suppression d'un bucket, consultez la page DeleteBucket.