Caso não precise mais de um bucket, exclua-o para interromper qualquer cobrança. Como o Object Storage Service (OSS) cobra taxas pelos recursos armazenados em um bucket, é necessário remover todos os recursos antes da exclusão. Excluir o bucket é a forma mais segura de evitar cobranças inesperadas por recursos faturáveis esquecidos. Não é possível recuperar os dados após a exclusão do bucket, e outro usuário pode reivindicar o nome dele após a liberação. Para encerrar totalmente o uso do OSS, exclua todos os buckets da sua conta.
Após a exclusão de um bucket, o nome dele fica disponível e outro usuário pode reivindicá-lo. Se quiser manter 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. Caso pretenda continuar usando os dados do bucket, faça um backup deles com antecedência. Para obter 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 do OSSClient usando um nome de domínio personalizado ou o Security Token Service (STS). Para obter mais informações, consulte Inicializar uma instância do 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 em uma conta Alibaba Cloud não têm 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 |
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 há uma política de bucket com a permissão oss:DeleteBucket e o efeito definido como Deny. Nesse caso, defina o efeito como Allow ou exclua a política do bucket para poder excluí-lo.
Código de exemplo
O código a seguir mostra um exemplo de 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 ver o código de exemplo completo para exclusão de um bucket, consulte o exemplo no GitHub.
Para mais detalhes sobre a operação de API para exclusão de um bucket, consulte DeleteBucket.
Para saber mais sobre como inicializar uma instância do OSSClient, consulte Inicializar uma instância do OSSClient para Android.