Si vous n'avez plus besoin d'un bucket, supprimez-le pour arrêter toute facturation. Étant donné que les frais Object Storage Service (OSS) s'appliquent aux ressources stockées dans le bucket, vous devez vider toutes les ressources avant de le supprimer. La suppression d'un bucket constitue le moyen le plus fiable d'éviter les frais imprévus liés à des ressources facturables oubliées. Notez que les données ne peuvent pas être récupérées après la suppression d'un bucket et qu'un autre utilisateur peut s'approprier son nom une fois celui-ci libéré. Pour cesser complètement d'utiliser OSS, vous devez supprimer tous les buckets de votre compte.
Après la suppression d'un bucket, son nom est libéré et peut être réclamé par un autre utilisateur. Si vous souhaitez conserver le nom du bucket, videz-le au lieu de le supprimer.
Les données contenues dans un bucket ne peuvent pas être récupérées après sa suppression. Avant de supprimer un bucket, confirmez que les données ne sont plus nécessaires. Si vous souhaitez continuer à utiliser les données du bucket, effectuez une sauvegarde au préalable. Pour plus d'informations, consultez Sauvegarder un bucket.
Considérations
Cette rubrique utilise l'endpoint public de la région Chine (Hangzhou). Pour accéder à OSS depuis d'autres services Alibaba Cloud dans la même région, utilisez un endpoint interne. Pour obtenir la liste des régions et endpoints pris en charge, consultez Régions et endpoints.
Dans cette rubrique, les identifiants d'accès sont obtenus à partir des variables d'environnement. Pour plus d'informations, consultez Configurer les identifiants d'accès.
Cette rubrique illustre la création d'une instance OSSClient avec un endpoint OSS. Pour d'autres configurations, telles que l'utilisation d'un domaine personnalisé ou l'authentification via des identifiants du Security Token Service (STS), consultez Configuration du client.
Avant de supprimer un bucket, assurez-vous d'avoir supprimé les ressources requises.
Autorisations
Par défaut, un compte Alibaba Cloud dispose de toutes les autorisations. Les utilisateurs RAM ou les rôles RAM associés à un compte Alibaba Cloud ne disposent d'aucune autorisation par défaut. Le compte Alibaba Cloud ou l'administrateur du compte doit accorder les autorisations d'opération via des politiques RAM ou une Bucket Policy.
|
API |
Action |
Description |
|
DeleteBucket |
|
Supprime un bucket. |
Exemple de code
Le code suivant montre comment supprimer le bucket nommé examplebucket :
import com.aliyun.oss.*;
import com.aliyun.oss.common.auth.*;
import com.aliyun.oss.common.comm.SignVersion;
public class Demo {
public static void main(String[] args) throws Exception {
// In this example, the endpoint of the China (Hangzhou) region is used. Specify your actual endpoint.
String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are configured.
EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
// Specify the name of the bucket. Example: examplebucket.
String bucketName = "examplebucket";
// Specify the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the region to cn-hangzhou.
String region = "cn-hangzhou";
// Create an OSSClient instance.
// Call the shutdown method to release associated resources when the OSSClient is no longer in use.
ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
OSS ossClient = OSSClientBuilder.create()
.endpoint(endpoint)
.credentialsProvider(credentialsProvider)
.clientConfiguration(clientBuilderConfiguration)
.region(region)
.build();
try {
// Delete the bucket.
ossClient.deleteBucket(bucketName);
} catch (OSSException oe) {
System.out.println("Caught an OSSException, which means your request made it to OSS, "
+ "but was rejected with an error response for some reason.");
System.out.println("Error Message:" + oe.getErrorMessage());
System.out.println("Error Code:" + oe.getErrorCode());
System.out.println("Request ID:" + oe.getRequestId());
System.out.println("Host ID:" + oe.getHostId());
} catch (ClientException ce) {
System.out.println("Caught an ClientException, which means the client encountered "
+ "a serious internal problem while trying to communicate with OSS, "
+ "such as not being able to access the network.");
System.out.println("Error Message:" + ce.getMessage());
} finally {
if (ossClient != null) {
ossClient.shutdown();
}
}
}
}
Références
Pour consulter l'exemple de code complet utilisé pour supprimer un bucket, rendez-vous sur l'exemple GitHub.
Pour plus d'informations sur l'opération API permettant de supprimer un bucket, consultez DeleteBucket.