Tous les produits
Search
Centre de documentation

Object Storage Service:Delete a bucket (C++ SDK)

Dernière mise à jour :Aug 18, 2026

Si vous n'avez plus besoin d'un bucket, supprimez-le pour arrêter toute facturation. Les frais Object Storage Service (OSS) étant appliqués aux ressources stockées dans le bucket, vous devez vider toutes les ressources avant de procéder à la suppression. La suppression du bucket constitue le moyen le plus fiable d'éviter les frais imprévus liés à des ressources facturables oubliées. Notez que les données ne peuvent pas être récupérées après la suppression d'un bucket et qu'un autre utilisateur peut s'approprier son nom une fois celui-ci libéré. Pour cesser complètement d'utiliser OSS, vous devez supprimer tous les buckets de votre compte.

Avertissement
  • Après la suppression d'un bucket, son nom est libéré et peut être réclamé par un autre utilisateur. Si vous souhaitez conserver le nom du bucket, videz-le au lieu de le supprimer.

  • Les données contenues dans un bucket ne peuvent pas être récupérées après sa suppression. Avant de supprimer un bucket, confirmez que les données ne sont plus nécessaires. Si vous souhaitez continuer à utiliser les données du bucket, effectuez une sauvegarde préalable. Pour plus d'informations, consultez Sauvegarder un bucket.

Notes

  • Cette rubrique utilise l'endpoint public de la région Chine (Hangzhou). Si vous souhaitez accéder à OSS depuis d'autres services Alibaba Cloud situés dans la même région qu'OSS, utilisez un endpoint interne. Pour plus d'informations sur les régions et les endpoints OSS, consultez Régions et endpoints.

  • Cette rubrique illustre la création d'une instance OssClient avec un endpoint OSS. Pour d'autres configurations, telles que l'utilisation d'un domaine personnalisé ou l'authentification via des identifiants du Security Token Service (STS), consultez Créer une instance OssClient.

  • Avant de supprimer un bucket, assurez-vous d'avoir supprimé les ressources requises.

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 vous disposez de l'autorisation oss:DeleteBucket dans une politique RAM mais que vous ne parvenez toujours pas à supprimer le bucket, il se peut que la Bucket Policy contienne une instruction refusant explicitement l'autorisation oss:DeleteBucket. Dans ce cas, vous devez modifier l'effet de l'instruction de Refuser (Deny) à Autoriser (Allow), ou supprimer la Bucket Policy avant de pouvoir supprimer le bucket.

Exemple de code

Le code suivant montre comment supprimer le bucket nommé examplebucket :

#include <alibabacloud/oss/OssClient.h>
using namespace AlibabaCloud::OSS;

int main(void)
{
    /*Initialize the OSS account information.*/
    
    /*Set yourEndpoint to the Endpoint of the region where the bucket is located. For example, if the bucket is in the China (Hangzhou) region, set the Endpoint to https://oss-cn-hangzhou.aliyuncs.com.*/
    std::string Endpoint = "yourEndpoint";
    
    /*Set yourRegion to the region where the bucket is located. For example, if the bucket is in the China (Hangzhou) region, set the region to cn-hangzhou.*/
    std::string Region = "yourRegion";
    
    /*Specify the bucket name, for example, examplebucket.*/
    std::string BucketName = "examplebucket";

    /*Initialize network resources.*/
    InitializeSdk();

    ClientConfiguration conf;
    conf.signatureVersion = SignatureVersionType::V4;
    /*Obtain access credentials from environment variables. Before you run this sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.*/
    auto credentialsProvider = std::make_shared<EnvironmentVariableCredentialsProvider>();
    OssClient client(Endpoint, credentialsProvider, conf);
    client.SetRegion(Region);

    /*Delete the bucket.*/
    DeleteBucketRequest request(BucketName);
   
    auto outcome = client.DeleteBucket(request);

    if (outcome.isSuccess()) {
    std::cout << "Delete bucket successfully." << std::endl;
    } else {
    std::cout << "Failed to delete bucket. Error code: " << outcome.error().Code()
              << ", Message: " << outcome.error().Message()
              << ", RequestId: " << outcome.error().RequestId() << std::endl;
    }

    /*Release network resources.*/
    ShutdownSdk();
    return 0;
}

Références

  • Pour obtenir l'exemple de code complet relatif à la suppression d'un bucket, consultez GitHub.

  • Pour plus d'informations sur l'opération API permettant de supprimer un bucket, consultez DeleteBucket.