Si ya no necesita un bucket, elimínelo para detener toda la facturación. Dado que los cargos de Object Storage Service (OSS) se generan por los recursos dentro de un bucket, debe borrar todos los recursos antes de eliminarlo. Esta acción es la forma más confiable de evitar cobros inesperados por recursos facturables olvidados. Tenga en cuenta que los datos no se pueden recuperar después de eliminar un bucket y que otro usuario puede reclamar su nombre una vez liberado. Para dejar de usar OSS por completo, elimine todos los buckets de su cuenta.
Cuando se elimina un bucket, su nombre queda libre 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 esa información. Si planea seguir usando los datos del bucket, respáldelos con anticipación. Para obtener más información, consulte Back up a bucket.
Precauciones
Antes de usar el código de ejemplo de este tema, cree una instancia de OSSClient mediante un dominio personalizado o Security Token Service (STS). Para obtener más información, consulte Initialize an OSSClient instance for Android.
Antes de eliminar un bucket, asegúrese de haber eliminado los recursos obligatorios.
Permisos
De forma predeterminada, una cuenta de Alibaba Cloud tiene todos los permisos. Los usuarios o roles de RAM asociados a 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 |
Acción |
Descripción |
|
DeleteBucket |
|
Elimina un bucket. |
Si cuenta con el permiso oss:DeleteBucket en una política de RAM, pero no logra eliminar el bucket, es posible que una política de bucket contenga el permiso oss:DeleteBucket con el efecto configurado como Deny. En este caso, cambie el efecto a Allow o elimine la política de bucket antes de borrar el bucket.
Código de ejemplo
A continuación se muestra un ejemplo de cómo eliminar un 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 consultar el código de ejemplo completo sobre cómo eliminar un bucket, revise el ejemplo de GitHub.
Para obtener más información sobre la operación de API que elimina un bucket, consulte DeleteBucket.
Para conocer los detalles sobre cómo inicializar una instancia de OSSClient, consulte Initialize an OSSClient instance for Android.