Tous les produits
Search
Centre de documentation

Object Storage Service:Supprimer des buckets à l'aide du SDK OSS pour PHP 2.0

Dernière mise à jour :Aug 18, 2026

Si vous n'utilisez plus un bucket Object Storage Service (OSS), supprimez-le afin d'éviter des frais inutiles.

Remarques sur l'utilisation

  • L'exemple de code présenté dans cette rubrique utilise l'ID de région cn-hangzhou correspondant à la région Chine (Hangzhou). Par défaut, un endpoint public est utilisé pour accéder aux ressources d'un bucket. Si vous souhaitez accéder aux ressources du bucket via d'autres services Alibaba Cloud situés dans la même région que le bucket, utilisez un endpoint interne. Pour plus d'informations sur les régions et les endpoints OSS, consultez la section Régions et endpoints.

  • Le nom d'un bucket est unique. Une fois qu'un bucket est supprimé, son nom redevient disponible pour une utilisation par d'autres utilisateurs. Nous vous recommandons de vider le bucket plutôt que de le supprimer si vous souhaitez conserver l'utilisation de ce nom.

  • Un bucket supprimé ne peut pas être restauré. Assurez-vous que les données contenues dans le bucket ne sont plus nécessaires avant de procéder à sa suppression. Si vous souhaitez continuer à utiliser les données du bucket, effectuez une sauvegarde préalable. Pour plus d'informations, consultez la section Sauvegarder des buckets.

  • Pour supprimer un bucket, vous devez disposer de l'autorisation oss:DeleteBucket. Pour plus d'informations, consultez la section Accorder une politique personnalisée.

Prérequis

  • Tous les objets présents dans le bucket ont été supprimés.

    Important

    Pour supprimer un bucket dont la gestion des versions est activée, assurez-vous que toutes les versions actuelles et précédentes des objets contenus dans le bucket ont été supprimées. Pour plus d'informations, consultez la section Gestion des versions.

    • Si le bucket contient un petit nombre d'objets, nous vous recommandons de les supprimer manuellement. Pour plus d'informations, consultez la section Supprimer des objets.

    • Si le bucket contient un grand nombre d'objets, nous vous recommandons de configurer des règles de cycle de vie pour les supprimer. Pour plus d'informations, consultez la section Cycle de vie.

  • Les parties générées par les tâches de téléchargement en plusieurs parties ou de reprise dans le bucket ont été supprimées. Pour plus d'informations, consultez la section Supprimer des parties.

  • L'autorisation oss:DeleteBucket a été accordée à un utilisateur RAM si vous souhaitez utiliser cet utilisateur pour supprimer le bucket. Pour plus d'informations, consultez la section Accorder une politique personnalisée.

    Remarque

    Si l'utilisateur RAM dispose de l'autorisation oss:DeleteBucket dans une politique RAM mais ne parvient pas à supprimer le bucket, il est possible qu'une politique de bucket contienne l'autorisation oss:DeleteBucket avec un effet Refuser (Deny). Dans ce cas, vous devez modifier l'effet en Autoriser (Allow) ou supprimer la politique de bucket. Vous pourrez ensuite supprimer le bucket.

Exemples

L'exemple de code suivant montre comment supprimer un bucket :

<?php

require_once __DIR__ . '/../vendor/autoload.php'; // Automatically load objects and dependency libraries.

use AlibabaCloud\Oss\V2 as Oss;

// Specify command line parameters.
$optsdesc = [
    "region" => ['help' => The region in which the bucket is located.', 'required' => True], // (Required) Specify the region in which the bucket is located. Example: oss-cn-hangzhou. 
    "endpoint" => ['help' => The domain names that other services can use to access OSS.', 'required' => False], // (Optional) Specify the endpoint that can be used by other services to access OSS. 
    "bucket" => ['help' => The name of the bucket, 'required' => True], // (Required) Specify the name of the bucket. 
];
$longopts = \array_map(function ($key) {
    return "$key:"; // Add a colon (:) to the end of each parameter to indicate that a value is required.
}, array_keys($optsdesc));

// Parse the command line parameters.
$options = getopt("", $longopts); 

// Check whether the required parameters are configured.
foreach ($optsdesc as $key => $value) {
    if ($value['required'] === True && empty($options[$key])) {
        $help = $value['help'];
        echo "Error: the following arguments are required: --$key, $help"; // Specifies that the required parameters are not configured.
        exit(1); 
    }
}

// Obtain the values of the command line parameters.
$region = $options["region"]; // The region in which the bucket is located. 
$bucket = $options["bucket"]; // The name of the bucket. 

// Use environment variables to load the credential information (AccessKey ID and AccessKey secret).
$credentialsProvider = new Oss\Credentials\EnvironmentVariableCredentialsProvider(); 

// Use the default configurations of the SDK.
$cfg=Oss\Config::loadDefault(); // Load the default configurations of the SDK. 
$cfg->setCredentialsProvider($credentialsProvider); // Specify the credential provider. 
$cfg->setRegion($region); // Specify the region. 
if (isset($options["endpoint"])) {
    $cfg->setEndpoint($options["endpoint"]); // Specify the endpoint if an endpoint is provided. 
}

// Create an OSSClient instance.
$client = new Oss\Client($cfg); 

// Create a request to delete the bucket.
$request = new Oss\Models\DeleteBucketRequest($bucket); 

// Use the deleteBucket method to delete the bucket.
$result = $client->deleteBucket($request); 

// Display the returned result.
printf(
    'status code:' . $result-> statusCode. PHP_EOL . // The HTTP response status code. 
    'request id:' . $result->requestId // The unique identifier of the request. 
);

Références

  • Pour consulter l'exemple de code complet utilisé pour supprimer un bucket, accédez à GitHub.

  • Pour plus d'informations sur l'opération API permettant de supprimer un bucket, consultez la section DeleteBucket.