Todos os produtos
Search
Central de documentação

Object Storage Service:Excluir buckets com o OSS SDK for PHP 2.0

Última atualização: Jul 03, 2026

Se você não utiliza mais um bucket do Object Storage Service (OSS), exclua-o para evitar cobranças desnecessárias.

Observações de uso

  • O código de exemplo deste tópico usa o ID da região cn-hangzhou, correspondente à região China (Hangzhou). Por padrão, o acesso aos recursos de um bucket ocorre via endpoint público. Para acessar esses recursos por meio de outros serviços da Alibaba Cloud na mesma região do bucket, utilize um endpoint interno. Para mais informações sobre regiões e endpoints do OSS, consulte Regiões e endpoints.

  • O nome de um bucket é único. Após a exclusão, esse nome fica disponível para uso por terceiros. Se você pretende continuar usando o mesmo nome, recomendamos esvaziar o bucket em vez de excluí-lo.

  • Não é possível restaurar um bucket excluído. Certifique-se de que os dados contidos nele não são mais necessários antes de prosseguir com a exclusão. Para manter os dados, faça um backup antecipadamente. Consulte Fazer backup de buckets para mais informações.

  • A permissão oss:DeleteBucket é obrigatória para excluir um bucket. Veja como concedê-la em Conceder uma política personalizada.

Pré-requisitos

  • Todos os objetos do bucket devem estar excluídos.

    Importante

    Para excluir um bucket com versionamento ativado, verifique se todas as versões atuais e anteriores dos objetos foram removidas. Saiba mais em Versionamento.

    • Se o bucket contiver poucos objetos, exclua-os manualmente. Consulte Excluir objetos para obter instruções detalhadas.

    • Se o bucket contiver um grande volume de objetos, configure regras de ciclo de vida para automatizar a exclusão. Consulte Ciclo de vida para mais informações.

  • Exclua também as partes geradas por tarefas de upload multipart ou upload retomável no bucket. Siga as orientações em Excluir partes.

  • Ao utilizar um usuário RAM para essa operação, conceda a ele a permissão oss:DeleteBucket. Consulte Conceder uma política personalizada para obter instruções.

    Nota

    Se o usuário RAM possuir a permissão oss:DeleteBucket na política RAM, mas a exclusão falhar, verifique se existe uma política de bucket com efeito Deny para a permissão oss:DeleteBucket. Nesse caso, altere o efeito para Allow ou remova a política de bucket para concluir a exclusão.

Exemplos

O código abaixo demonstra como excluir um 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. 
);

Referências

  • Para visualizar o código completo de exclusão de bucket, acesse o repositório no GitHub.

  • Para obter mais informações sobre a operação de API usada para excluir um bucket, consulte DeleteBucket.