Excluir buckets

Nesta página, você encontrará instruções de como excluir buckets do Cloud Storage.

Se você excluir um bucket com a exclusão reversível ativada, poderá restaurar o bucket ou objetos individuais dele durante o período de retenção especificado na política de exclusão reversível. As pastas gerenciadas não podem ser recuperadas, mesmo que o bucket tenha a exclusão reversível ativada.

Antes de começar

Para ter as permissões necessárias para excluir um bucket do Cloud Storage, peça ao administrador para conceder a você o papel do IAM de Administrador do Storage (roles/storage.admin) no bucket.

Esse papel predefinido contém as permissões necessárias para excluir um bucket. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

  • storage.buckets.delete
  • storage.buckets.list
    • Essa permissão é necessária apenas para excluir buckets usando o Google Cloud console.
  • storage.objects.delete
    • Essa permissão é necessária somente quando há objetos no bucket que você quer excluir.
  • storage.objects.list
    • Essa permissão é necessária apenas para excluir buckets usando o Google Cloud console ou a Google Cloud CLI.

Essas permissões também podem ser concedidas com outros papéis personalizados ou papéis predefinidos.

Para instruções sobre como conceder papéis para buckets, consulte Definir e gerenciar políticas do IAM em buckets.

Excluir um bucket

Console

Quando você exclui um bucket usando o Google Cloud console, os recursos dentro dele também são excluídos, como objetos, pastas gerenciadas e caches criados com o Rapid Cache.

  1. No Google Cloud console do, acesse a página Buckets do Cloud Storage.

    Acessar buckets

  2. Marque a caixa de seleção do bucket que pretende excluir.

  3. Clique em Excluir.

  4. Na janela de sobreposição que aparece, confirme que você quer excluir o bucket e o conteúdo nele.

  5. Clique em Excluir.

Para saber como acessar informações detalhadas de erro sobre operações do Cloud Storage com falha no Google Cloud console, consulte Solução de problemas.

Linha de comando

Para excluir o bucket com todo o conteúdo dele, use o comando da Google Cloud CLI gcloud storage rm com a flag --recursive:

gcloud storage rm --recursive gs://BUCKET_NAME

Em que BUCKET_NAME é o nome do bucket a ser excluído. Por exemplo, my-bucket.

Se funcionar, a resposta será parecida com esta:

Removing gs://my-bucket/...

Para evitar a exclusão acidental de objetos ou pastas gerenciadas, use o comando gcloud storage buckets delete, que exclui apenas um bucket se ele estiver vazio.

Bibliotecas de cliente

C++

Para mais informações, consulte a documentação de referência da API Cloud Storage C++.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

namespace gcs = ::google::cloud::storage;
[](gcs::Client client, std::string const& bucket_name) {
  google::cloud::Status status = client.DeleteBucket(bucket_name);
  if (!status.ok()) throw std::runtime_error(status.message());

  std::cout << "The bucket " << bucket_name << " was deleted successfully.\n";
}

C#

Para mais informações, consulte a documentação de referência da API Cloud Storage C#.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.


using Google.Cloud.Storage.V1;
using System;

public class DeleteBucketSample
{
    public void DeleteBucket(string bucketName = "your-unique-bucket-name")
    {
        var storage = StorageClient.Create();
        storage.DeleteBucket(bucketName);
        Console.WriteLine($"The bucket {bucketName} was deleted.");
    }
}

Go

Para mais informações, consulte a documentação de referência da API Cloud Storage Go.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

import (
	"context"
	"fmt"
	"io"
	"time"

	"cloud.google.com/go/storage"
)

// deleteBucket deletes the bucket.
func deleteBucket(w io.Writer, bucketName string) error {
	// bucketName := "bucket-name"
	ctx := context.Background()
	client, err := storage.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("storage.NewClient: %w", err)
	}
	defer client.Close()

	ctx, cancel := context.WithTimeout(ctx, time.Second*30)
	defer cancel()

	bucket := client.Bucket(bucketName)
	if err := bucket.Delete(ctx); err != nil {
		return fmt.Errorf("Bucket(%q).Delete: %w", bucketName, err)
	}
	fmt.Fprintf(w, "Bucket %v deleted\n", bucketName)
	return nil
}

Java

Para mais informações, consulte a documentação de referência da API Cloud Storage Java.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

import com.google.cloud.storage.Bucket;
import com.google.cloud.storage.Storage;
import com.google.cloud.storage.StorageOptions;

public class DeleteBucket {
  public static void deleteBucket(String projectId, String bucketName) {
    // The ID of your GCP project
    // String projectId = "your-project-id";

    // The ID of the bucket to delete
    // String bucketName = "your-unique-bucket-name";

    Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService();
    Bucket bucket = storage.get(bucketName);
    bucket.delete();

    System.out.println("Bucket " + bucket.getName() + " was deleted");
  }
}

Node.js

Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

/**
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// The ID of your GCS bucket
// const bucketName = 'your-unique-bucket-name';

// Imports the Google Cloud client library
const {Storage} = require('@google-cloud/storage');

// Creates a client
const storage = new Storage();

async function deleteBucket() {
  await storage.bucket(bucketName).delete();
  console.log(`Bucket ${bucketName} deleted`);
}

deleteBucket().catch(console.error);

PHP

Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

use Google\Cloud\Storage\StorageClient;

/**
 * Delete a Cloud Storage Bucket.
 *
 * @param string $bucketName The name of your Cloud Storage bucket.
 *        (e.g. 'my-bucket')
 */
function delete_bucket(string $bucketName): void
{
    $storage = new StorageClient();
    $bucket = $storage->bucket($bucketName);
    $bucket->delete();
    printf('Bucket deleted: %s' . PHP_EOL, $bucket->name());
}

Python

Para mais informações, consulte a documentação de referência da API Cloud Storage Python.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

from google.cloud import storage


def delete_bucket(bucket_name):
    """Deletes a bucket. The bucket must be empty."""
    # bucket_name = "your-bucket-name"

    storage_client = storage.Client()

    bucket = storage_client.get_bucket(bucket_name)
    bucket.delete()

    print(f"Bucket {bucket.name} deleted")

Ruby

Para mais informações, consulte a documentação de referência da API Cloud Storage Ruby.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

def delete_bucket bucket_name:
  # The ID of your GCS bucket
  # bucket_name = "your-unique-bucket-name"

  require "google/cloud/storage"

  storage = Google::Cloud::Storage.new
  bucket  = storage.bucket bucket_name, skip_lookup: true

  bucket.delete

  puts "Deleted bucket: #{bucket.name}"
end

Rust

use google_cloud_storage::client::StorageControl;

pub async fn sample(client: &StorageControl, bucket_id: &str) -> anyhow::Result<()> {
    client
        .delete_bucket()
        .set_name(format!("projects/_/buckets/{bucket_id}"))
        .send()
        .await?;
    println!("successfully deleted bucket {bucket_id}");
    Ok(())
}

APIs REST

API JSON

  1. Tenha a CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho Authorization.

  2. Use cURL para chamar a API JSON com uma DELETE solicitação bucket:

    curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME"

    Em que BUCKET_NAME é o nome do bucket a ser excluído. Por exemplo, my-bucket.

Se funcionar, a resposta conterá o código de status 204.

API XML

  1. Tenha a CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho Authorization.

  2. Use cURL para chamar a API XML com uma DELETE solicitação Bucket:

    curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      "https://storage.googleapis.com/BUCKET_NAME"

    Em que BUCKET_NAME é o nome do bucket a ser excluído. Por exemplo, my-bucket.

A seguir