Todos os produtos
Search
Central de documentação

Object Storage Service:Excluir um bucket (C++ SDK)

Última atualização: Jul 03, 2026

Aviso
  • Após a exclusão de um bucket, o nome fica disponível para outros usuários. Para preservar o nome do bucket, esvazie-o em vez de excluí-lo.

  • Não é possível recuperar os dados de um bucket após a exclusão. Antes de excluir um bucket, confirme que os dados não são mais necessários. Se precisar continuar usando os dados do bucket, faça um backup antecipadamente. Para mais informações, consulte Fazer backup de um bucket.

Observações

  • Este tópico usa o endpoint público da região China (Hangzhou). Para acessar o OSS a partir de outros serviços da Alibaba Cloud na mesma região, use um endpoint interno. Para obter mais detalhes sobre regiões e endpoints do OSS, consulte Regiões e endpoints.

  • Este exemplo demonstra como criar uma instância OSSClient com um endpoint do OSS. Para configurações alternativas, como uso de domínio personalizado ou autenticação via credenciais do Security Token Service (STS), consulte Criar uma instância OssClient.

  • Antes de excluir um bucket, certifique-se de ter excluído os recursos necessários.

Permissões

Por padrão, uma conta Alibaba Cloud tem permissões totais. Usuários RAM ou funções RAM vinculados a essa conta não têm permissões atribuídas automaticamente. A conta Alibaba Cloud ou o administrador deve conceder as permissões operacionais por meio de políticas do RAM ou Bucket Policy.

API

Ação

Descrição

DeleteBucket

oss:DeleteBucket

Exclui um bucket.

Nota

Se você tiver a permissão oss:DeleteBucket em uma política do RAM, mas ainda assim não conseguir excluir o bucket, verifique se a política do bucket contém uma instrução que negue explicitamente a permissão oss:DeleteBucket. Nesse caso, altere o efeito da instrução de Deny para Allow ou remova a política do bucket antes de tentar a exclusão novamente.

Código de exemplo

O código abaixo 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 completo de exclusão de bucket, consulte o GitHub.

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