Todos os produtos
Search
Central de documentação

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

Última atualização: Sep 22, 2026

Se você não precisa mais de um bucket, exclua-o para interromper toda a cobrança. Como as tarifas do Object Storage Service (OSS) incidem sobre os recursos armazenados dentro do bucket, é necessário remover todos os recursos antes de excluí-lo. A exclusão do bucket é a maneira mais confiável de evitar cobranças inesperadas geradas por recursos faturáveis negligenciados. Após a exclusão, os dados não podem ser recuperados, e outro usuário poderá reivindicar o nome do bucket assim que ele for liberado. Para deixar de usar o OSS por completo, exclua todos os buckets da sua conta.

Aviso
  • Após a exclusão de um bucket, o nome dele é liberado e pode ser reivindicado por outro usuário. Se quiser manter o nome do bucket, esvazie-o em vez de excluí-lo.

  • Os dados de um bucket não podem ser recuperados após a exclusão. Antes de excluir um bucket, confirme que os dados não são mais necessários. Caso deseje continuar usando os dados, faça backup com antecedência. Para mais informações, consulte Back up a bucket.

Observações

  • Neste tópico, é usado o endpoint público da região China (Hangzhou). Para acessar o OSS a partir de outros serviços Alibaba Cloud na mesma região, use um endpoint interno. Para mais informações sobre regiões e endpoints do OSS, consulte Regions and endpoints.

  • Este tópico demonstra a criação de uma instância OSSClient com um endpoint do OSS. Para configurações alternativas, como uso de domínio personalizado ou autenticação com credenciais do Security Token Service (STS), consulte Create an OssClient instance.

  • Antes de excluir um bucket, verifique se você deleted the required resources.

Permissões

Por padrão, uma conta Alibaba Cloud possui permissões completas. Usuários RAM ou funções RAM vinculados a uma conta Alibaba Cloud não possuem nenhuma permissão por padrão. A conta Alibaba Cloud ou o administrador da conta deve conceder permissões de operação por meio de RAM policies ou Bucket Policy.

API

Action

Description

DeleteBucket

oss:DeleteBucket

Exclui um bucket.

Nota

Se você tem a permissão oss:DeleteBucket em uma política RAM, mas ainda não consegue excluir o bucket, a política do bucket pode conter uma declaração que nega explicitamente a permissão oss:DeleteBucket. Nesse caso, altere o efeito da declaração de Deny para Allow ou exclua a política do bucket antes de tentar excluí-lo.

Código de exemplo

O código a seguir mostra como excluir o bucket chamado 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;
}

Referências

  • Para obter o código de exemplo completo de exclusão de um bucket, acesse GitHub.

  • Para mais informações sobre a operação de API usada para excluir um bucket, consulte DeleteBucket.