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 backup antecipadamente. Para mais informações, consulte Fazer backup de um bucket.
Precauções
Antes de usar o código de exemplo deste tópico, crie uma instância OSSClient com um nome de domínio personalizado ou Security Token Service (STS). Para mais informações, consulte Inicializar uma instância OSSClient para Android.
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 por padrão. A conta Alibaba Cloud ou o administrador da conta deve conceder as permissões de operação por meio de políticas RAM ou Bucket Policy.
|
API |
Ação |
Descrição |
|
DeleteBucket |
|
Exclui um bucket. |
Se você tiver a permissão oss:DeleteBucket em uma política RAM, mas não conseguir excluir o bucket, verifique se uma Bucket Policy contém a permissão oss:DeleteBucket com efeito definido como Deny. Nesse caso, altere o efeito para Allow ou exclua a Bucket Policy antes de excluir o bucket.
Código de exemplo
O código a seguir mostra como excluir um bucket:
DeleteBucketRequest deleteBucketRequest = new DeleteBucketRequest("bucketName");
// Asynchronously delete the bucket.
OSSAsyncTask deleteBucketTask = oss.asyncDeleteBucket(deleteBucketRequest, new OSSCompletedCallback<DeleteBucketRequest, DeleteBucketResult>() {
@Override
public void onSuccess(DeleteBucketRequest request, DeleteBucketResult result) {
Log.d("asyncDeleteBucket", "Success!");
}
@Override
public void onFailure(DeleteBucketRequest request, ClientException clientException, ServiceException serviceException) {
// The request failed.
if (clientException != null) {
// Client exceptions, such as network exceptions.
clientException.printStackTrace();
}
if (serviceException != null) {
// Service exceptions.
Log.e("ErrorCode", serviceException.getErrorCode());
Log.e("RequestId", serviceException.getRequestId());
Log.e("HostId", serviceException.getHostId());
Log.e("RawMessage", serviceException.getRawMessage());
}
}
});
Documentos relacionados
Para obter o código de exemplo completo sobre a exclusão de um bucket, consulte o exemplo no GitHub.
Para mais detalhes sobre a operação de API para excluir um bucket, consulte DeleteBucket.
Para saber mais sobre como inicializar uma instância OSSClient, consulte Inicializar uma instância OSSClient para Android.