Todos los productos
Search
Centro de documentos

Object Storage Service:Eliminar un bucket (SDK de C++)

Última actualización: Sep 22, 2026

Si ya no necesita un bucket, elimínelo para detener toda la facturación. Dado que Object Storage Service (OSS) cobra por los recursos dentro de un bucket, debe vaciar todos los recursos antes de eliminarlo. Esta acción es la forma más confiable de evitar cargos inesperados por recursos facturables olvidados. Tenga en cuenta que los datos no se pueden recuperar después de eliminar un bucket. Además, otro usuario puede reclamar su nombre una vez que se libera. Para dejar de usar OSS por completo, elimine todos los buckets de su cuenta.

Aviso
  • Cuando se elimina un bucket, su nombre se libera y otro usuario lo puede reclamar. Si desea conservar el nombre del bucket, vacíelo en lugar de eliminarlo.

  • Los datos de un bucket no se pueden recuperar después de eliminarlo. Antes de continuar, confirme que ya no necesita la información. Si planea seguir usando los datos del bucket, haga una copia de seguridad con anticipación. Para obtener más información, consulte Back up a bucket.

Notas

  • En este tema se utiliza el endpoint público de la región China (Hangzhou). Si accede a OSS desde otros servicios de Alibaba Cloud en la misma región, use un endpoint interno. Para obtener más información sobre las regiones y los endpoints de OSS, consulte Regions and endpoints.

  • 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 Create an OssClient instance.

  • Antes de eliminar un bucket, asegúrese de haber deleted the required resources.

Permisos

De forma predeterminada, una cuenta de Alibaba Cloud tiene permisos completos. Los usuarios o roles de RAM bajo una cuenta de Alibaba Cloud no cuentan con ningún permiso de manera predeterminada. La cuenta de Alibaba Cloud o el administrador de la cuenta deben otorgar los permisos de operación mediante RAM policies o Bucket Policy.

API

Action

Descripción

DeleteBucket

oss:DeleteBucket

Elimina un bucket.

Nota

Si tiene el permiso oss:DeleteBucket en una política de RAM, pero aun así no logra eliminar el bucket, es posible que la política del bucket contenga una instrucción que deniegue explícitamente el permiso oss:DeleteBucket. En este caso, cambie el efecto de la instrucción de Deny a Allow, o bien elimine la política del bucket antes de borrarlo.

Código de ejemplo

A continuación se muestra un ejemplo de código para eliminar el bucket llamado 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;
}

Referencias

  • Para consultar el código de ejemplo completo sobre cómo eliminar un bucket, visite GitHub.

  • Para obtener más información sobre la operación de API que permite eliminar un bucket, consulte DeleteBucket.