Aloja un sitio web estático

En este instructivo, se describe cómo configurar un depósito de Cloud Storage a fin de alojar un sitio web estático para un dominio que poseas. Las páginas web estáticas pueden incluir tecnologías del lado del cliente, como HTML, CSS y JavaScript. No pueden incluir contenido dinámico, por ejemplo, secuencias de comandos del lado del servidor como PHP. Para obtener más información sobre páginas web estáticas, como ejemplos y sugerencias, consulta la página de Sitio web estático.

Este instructivo también se aplica al hosting de activos estáticos para un sitio web dinámico.

Objetivos

En este instructivo, realizarás las siguientes acciones:

  • Apuntar tu dominio a Cloud Storage con un registro CNAME
  • Crear un depósito que esté vinculado a tu dominio
  • Subir y compartir los archivos de tu sitio
  • Probar el sitio web

Costos

En este instructivo, se usan los siguientes componentes facturables de Cloud Platform:

  • Cloud Storage

Consulta Sugerencias para supervisar tus cargos de almacenamiento si quieres obtener detalles sobre los cargos que se pueden aplicar cuando alojas un sitio web estático. Consulta la página Precios si quieres obtener detalles sobre los costos de Cloud Storage.

Antes de comenzar

  1. Sign in to your Google Account.

    If you don't already have one, sign up for a new account.

  2. Select or create a Google Cloud Platform project.

    Go to the Manage resources page

  3. Asegúrate de tener habilitada la facturación para tu proyecto.

    Aprende a habilitar la facturación

  4. Debes tener un dominio que poseas o administres. Si no tienes un dominio existente, hay muchos servicios que puedes usar para registrar un nuevo dominio, como Google Domains.

    En este instructivo, se usa el dominio example.com.

  5. Verifica que posees o administras el dominio que usarás. Asegúrate de que verificas el dominio de nivel superior, como example.com, y no un subdominio, como www.example.com.

    Nota: Si posees el dominio que asocias a un depósito, es posible que ya hayas realizado este paso con anterioridad. Si compraste tu dominio a través de Google Domains, la verificación es automática.

Crea un registro CNAME

Un registro CNAME es un tipo de registro DNS. Dirige el tráfico que solicita una URL de tu dominio a los recursos que quieres entregar, en este caso, objetos en tus depósitos de Cloud Storage. Para www.example.com, el registro CNAME puede contener la siguiente información:

NAME                  TYPE     DATA
www.example.com       CNAME    c.storage.googleapis.com.

Si quieres obtener más información sobre los redireccionamientos CNAME, consulta URI para alias de CNAME.

Para conectar tu dominio a Cloud Storage, haz lo siguiente:

  1. Crea un registro CNAME que apunte a c.storage.googleapis.com..

    El servicio de registro de tu dominio debe incluir una forma para que administres tu dominio, incluida la adición de un registro CNAME. Por ejemplo, si usas Google Domains, las instrucciones para agregar registros de recursos, como CNAME, se pueden encontrar en la página de ayuda de Google Domains, en la sección desplegable Registros de recursos.

Crea un depósito

Crea un depósito con un nombre que coincida con el CNAME que creaste para tu dominio.

Por ejemplo, si agregaste un registro CNAME que apunta www.example.com hacia c.storage.googleapis.com., crea un depósito con el nombre “www.example.com”.

Para crear un depósito, haz lo siguiente:

Console

  1. Abre el navegador de Cloud Storage en Google Cloud Platform Console.
    Abrir el navegador de Cloud Storage
  2. Haz clic en Crear depósito.

  3. En el cuadro de diálogo Crear depósito, especifica los siguientes parámetros:

    • El Nombre del depósito

    • La Clase de almacenamiento del depósito: Multirregional

    • La Ubicación del depósito: Estados Unidos

  4. Haz clic en Crear.

Si tienes éxito, verás la página del depósito y el texto “No hay objetos en este depósito”.

gsutil

Usa el comando gsutil mb:

gsutil mb gs://www.example.com

Si se ejecuta correctamente, el comando mostrará lo siguiente:

Creating gs://www.example.com/...

Ejemplos de código

C++

A fin de obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C++.

namespace gcs = google::cloud::storage;
using google::cloud::StatusOr;
[](gcs::Client client, std::string bucket_name) {
  StatusOr<gcs::BucketMetadata> meta =
      client.CreateBucket(bucket_name, gcs::BucketMetadata());
  if (!meta.ok()) {
    std::cerr << "Could not create bucket " << bucket_name << std::endl;
    return;
  }
  std::cout << "Bucket " << meta->name() << " created."
            << "\nFull Metadata: " << *meta << std::endl;
}

C#

A fin de obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C#.

private void CreateBucket(string bucketName)
{
    var storage = StorageClient.Create();
    storage.CreateBucket(s_projectId, bucketName);
    Console.WriteLine($"Created {bucketName}.");
}

Go

A fin de obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Go.

bucket := client.Bucket(bucketName)
if err := bucket.Create(ctx, projectID, &storage.BucketAttrs{
	StorageClass: "COLDLINE",
	Location:     "asia",
}); err != nil {
	return err
}

Java

A fin de obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Java.

Bucket bucket =
    storage.create(
        BucketInfo.newBuilder(bucketName)
            // See here for possible values: http://g.co/cloud/storage/docs/storage-classes
            .setStorageClass(StorageClass.COLDLINE)
            // Possible values: http://g.co/cloud/storage/docs/bucket-locations#location-mr
            .setLocation("asia")
            .build());

Node.js

A fin de obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Node.js.

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

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

/**
 * TODO(developer): Uncomment the following line before running the sample.
 */
// const bucketName = 'Name of a bucket, e.g. my-bucket';

// Creates a new bucket
await storage.createBucket(bucketName, {
  location: 'ASIA',
  storageClass: 'COLDLINE',
});

console.log(`Bucket ${bucketName} created.`);

PHP

A fin de obtener más información, consulta la documentación de referencia de la API de Cloud Storage para PHP.

use Google\Cloud\Storage\StorageClient;

/**
 * Create a Cloud Storage Bucket.
 *
 * @param string $bucketName name of the bucket to create.
 * @param string $options options for the new bucket.
 *
 * @return Google\Cloud\Storage\Bucket the newly created bucket.
 */
function create_bucket($bucketName, $options = [])
{
    $storage = new StorageClient();
    $bucket = $storage->createBucket($bucketName, $options);
    printf('Bucket created: %s' . PHP_EOL, $bucket->name());
}

Python

A fin de obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Python.

def create_bucket(bucket_name):
    """Creates a new bucket."""
    storage_client = storage.Client()
    bucket = storage_client.create_bucket(bucket_name)
    print('Bucket {} created'.format(bucket.name))

Ruby

A fin de obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Ruby.

# project_id    = "Your Google Cloud project ID"
# bucket_name   = "Name of Google Cloud Storage bucket to create"
# location      = "Location of where to create Cloud Storage bucket"
# storage_class = "Storage class of Cloud Storage bucket"

require "google/cloud/storage"

storage = Google::Cloud::Storage.new project_id: project_id
bucket  = storage.create_bucket bucket_name,
                                location:      location,
                                storage_class: storage_class

puts "Created bucket #{bucket.name} in #{location}" +
     " with #{storage_class} class"

API de REST

API de JSON

  1. Obtén un token de acceso de autorización de OAuth 2.0 Playground. Configura la zona de pruebas para usar tus propias credenciales de OAuth.
  2. Crea un archivo .json que asigne la propiedad name al nombre de tu sitio web:
  3. {
    "name": "www.example.com"
    }
  4. Usa cURL para llamar a la API de JSON. En el caso de, www.example.com, usa lo siguiente:
    curl -X POST --data-binary @website-bucket-name.json \
     -H "Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg" \
     -H "Content-Type: application/json" \
     "https://www.googleapis.com/storage/v1/b?project=my-static-website"

API de XML

  1. Obtén un token de acceso de autorización de OAuth 2.0 Playground. Configura la zona de pruebas para usar tus propias credenciales de OAuth.
  2. Usa cURL para llamar a la API de XML y crear un depósito con el nombre de tu sitio web. Para www.example.com, usa lo siguiente:
    curl -X PUT \
     -H "Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg" \
     -H "x-goog-project-id: my-static-website" \
     "https://storage.googleapis.com/www.example.com"

Sube los archivos de tu sitio

Para agregar a tu depósito los archivos que quieres que entregue tu sitio web, haz lo siguiente:

Console

  1. Abre el navegador de Cloud Storage en Google Cloud Platform Console.
    Abrir el navegador de Cloud Storage
  2. En la lista de depósitos, haz clic en el nombre del depósito que creaste.

  3. Haz clic en el botón Subir archivos en la pestaña Objetos.

  4. En el cuadro de diálogo de archivo, navega al archivo deseado y selecciónalo.

Una vez que se termine de subir el archivo, deberías ver su nombre, su tamaño, su tipo y la fecha de la última modificación en el depósito.

Por ejemplo, un depósito con dos archivos index.html y 404.html aparece en GCP Console de la siguiente manera:

Ejemplo de sitio web de depósito.
Ejemplo de un depósito configurado como un sitio web.

gsutil

Usa el comando gsutil cp para copiar archivos a tu depósito. Por ejemplo, para copiar el archivo index.html desde su ubicación actual en Desktop, haz esto:

gsutil cp Desktop/index.html gs://www.example.com

Si se ejecuta correctamente, el comando mostrará lo siguiente:

Copying file://Desktop/index.html [Content-Type=text/html]...
Uploading   gs://www.example.com/index.html:       0 B/2.58 KiB
Uploading   gs://www.example.com/index.html:       2.58 KiB/2.58 KiB

Ejemplos de código

C++

A fin de obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C++.

namespace gcs = google::cloud::storage;
using google::cloud::StatusOr;
[](gcs::Client client, std::string file_name, std::string bucket_name,
   std::string object_name) {
  // Note that the client library automatically computes a hash on the
  // client-side to verify data integrity during transmission.
  StatusOr<gcs::ObjectMetadata> meta = client.UploadFile(
      file_name, bucket_name, object_name, gcs::IfGenerationMatch(0));
  if (!meta.ok()) {
    std::cerr << "Error uploading file " << file_name << " to bucket "
              << bucket_name << " as object " << object_name
              << ", status=" << meta.status() << std::endl;
    return;
  }
  std::cout << "Uploaded " << file_name << " to object " << meta->name()
            << " in bucket " << meta->bucket() << "\nFull metadata: " << *meta
            << std::endl;
}

C#

A fin de obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C#.

private void UploadFile(string bucketName, string localPath,
    string objectName = null)
{
    var storage = StorageClient.Create();
    using (var f = File.OpenRead(localPath))
    {
        objectName = objectName ?? Path.GetFileName(localPath);
        storage.UploadObject(bucketName, objectName, null, f);
        Console.WriteLine($"Uploaded {objectName}.");
    }
}

Go

A fin de obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Go.

f, err := os.Open("notes.txt")
if err != nil {
	return err
}
defer f.Close()

wc := client.Bucket(bucket).Object(object).NewWriter(ctx)
if _, err = io.Copy(wc, f); err != nil {
	return err
}
if err := wc.Close(); err != nil {
	return err
}

Java

A fin de obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Java.

Storage storage = StorageOptions.getDefaultInstance().getService();
BlobId blobId = BlobId.of("bucket", "blob_name");
BlobInfo blobInfo = BlobInfo.newBuilder(blobId).setContentType("text/plain").build();
Blob blob = storage.create(blobInfo, "Hello, Cloud Storage!".getBytes(UTF_8));

Node.js

A fin de obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Node.js.

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

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

/**
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// const bucketName = 'Name of a bucket, e.g. my-bucket';
// const filename = 'Local file to upload, e.g. ./local/path/to/file.txt';

// Uploads a local file to the bucket
await storage.bucket(bucketName).upload(filename, {
  // Support for HTTP requests made with `Accept-Encoding: gzip`
  gzip: true,
  metadata: {
    // Enable long-lived HTTP caching headers
    // Use only if the contents of the file will never change
    // (If the contents will change, use cacheControl: 'no-cache')
    cacheControl: 'public, max-age=31536000',
  },
});

console.log(`${filename} uploaded to ${bucketName}.`);

PHP

A fin de obtener más información, consulta la documentación de referencia de la API de Cloud Storage para PHP.

use Google\Cloud\Storage\StorageClient;

/**
 * Upload a file.
 *
 * @param string $bucketName the name of your Google Cloud bucket.
 * @param string $objectName the name of the object.
 * @param string $source the path to the file to upload.
 *
 * @return Psr\Http\Message\StreamInterface
 */
function upload_object($bucketName, $objectName, $source)
{
    $storage = new StorageClient();
    $file = fopen($source, 'r');
    $bucket = $storage->bucket($bucketName);
    $object = $bucket->upload($file, [
        'name' => $objectName
    ]);
    printf('Uploaded %s to gs://%s/%s' . PHP_EOL, basename($source), $bucketName, $objectName);
}

Python

A fin de obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Python.

Usa el método Blob.upload_from_file(), Blob.upload_from_filename() o Blob.upload_from_string() para subir un objeto.
def upload_blob(bucket_name, source_file_name, destination_blob_name):
    """Uploads a file to the bucket."""
    storage_client = storage.Client()
    bucket = storage_client.get_bucket(bucket_name)
    blob = bucket.blob(destination_blob_name)

    blob.upload_from_filename(source_file_name)

    print('File {} uploaded to {}.'.format(
        source_file_name,
        destination_blob_name))

Ruby

A fin de obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Ruby.

# project_id        = "Your Google Cloud project ID"
# bucket_name       = "Your Google Cloud Storage bucket name"
# local_file_path   = "Path to local file to upload"
# storage_file_path = "Path to store the file in Google Cloud Storage"

require "google/cloud/storage"

storage = Google::Cloud::Storage.new project_id: project_id
bucket  = storage.bucket bucket_name

file = bucket.create_file local_file_path, storage_file_path

puts "Uploaded #{file.name}"

API de REST

API de JSON

  1. Obtén un token de acceso de autorización de OAuth 2.0 Playground. Configura la zona de pruebas para usar tus propias credenciales de OAuth.
  2. Agrega los datos del archivo al cuerpo de la solicitud.
  3. Usa cURL para llamar a la API de JSON con una solicitud de objeto POST. En el caso de la página de índice de www.example.com, usa lo siguiente:
    curl -X POST --data-binary @index.html \
        -H "Content-Type: text/html" \
        -H "Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg" \
        "https://www.googleapis.com/upload/storage/v1/b/www.example.com/o?uploadType=media&name=index.html"

Consulta Realiza una carga simple para obtener más información sobre cómo subir objetos con la API de JSON.

API de XML

  1. Obtén un token de acceso de autorización de OAuth 2.0 Playground. Configura la zona de pruebas para usar tus propias credenciales de OAuth.
  2. Agrega los datos del objeto al cuerpo de la solicitud.
  3. Usa cURL para llamar a la API de JSON con una solicitud de objeto PUT. En el caso de la página de índice de www.example.com, usa lo siguiente:
    curl -X PUT --data-binary @index.html \
        -H "Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg" \
        -H "Content-Type: text/html" \
        "https://storage.googleapis.com/www.example.com/index.html"

Comparte tus archivos

Puedes hacer que todos los archivos de tu depósito sean de acceso público o configurar objetos individuales para que sean accesibles a través de tu sitio web. En general, hacer que todos los archivos de tu depósito sean accesibles es más fácil y rápido.

Si prefieres controlar la accesibilidad de archivos individuales, puedes configurar la LCA del objeto predeterminado de tu depósito, de manera que los próximos archivos subidos a él se compartan de forma predeterminada.

Recomendado: asigna páginas especializadas

Puedes asignar un sufijo de página de índice, que lo controle la propiedad MainPageSuffix, y una página de error personalizada, que la controle la propiedad NotFoundPage. La asignación es opcional, pero sin una página de índice, no se entrega nada cuando los usuarios acceden a tu sitio de nivel superior, por ejemplo, http://www.example.com.

Páginas de índice

Una página de índice (también llamada índice de directorio de servidor web) es un archivo que se entrega a los visitantes cuando solicitan una URL que no tiene un archivo asociado. Cuando asignas un MainPageSuffix, Cloud Storage busca un archivo con ese nombre y con un prefijo que coincida con la URL que el visitante solicitó.

Por ejemplo, supongamos que estableces el MainPageSuffix de tu sitio web estático como index.html. Además, digamos que no hay un archivo llamado directory en tu depósito www.example.com. En esta situación, si un usuario solicita la URL http://www.example.com/directory, Cloud Storage intenta entregar el archivo www.example.com/directory/index.html. Si ese archivo tampoco existe, Cloud Storage muestra una página de error.

MainPageSuffix también controla el archivo que se entrega cuando los usuarios solicitan el sitio de nivel superior. Para continuar con el ejemplo anterior, si un usuario solicita http://www.example.com, Cloud Storage intenta entregar el archivo www.example.com/index.html.

Página de error

La página de error es el archivo que se muestra a los visitantes del sitio estático que solicitan una URL que no corresponde a un archivo existente. Si asignaste un MainPageSuffix, Cloud Storage solo mostrará la página de error si no hay un archivo con el nombre solicitado ni una página de índice aplicable.

Cuando se muestra una página de error, el código de respuesta http es 404. La propiedad que controla qué archivo actúa como la página de error es NotFoundPage. Si no estableces NotFoundPage, los usuarios verán una página de error genérica.

Establece MainPageSuffix y NotFoundPage

En el ejemplo siguiente, MainPageSuffix se establece como index.html y NotFoundPage se establece como 404.html:

Console

  1. Abre el navegador de Cloud Storage en Google Cloud Platform Console.
    Abrir el navegador de Cloud Storage
  2. En la lista de depósitos, encuentra el depósito que creaste.

  3. Haz clic en el ícono de más acciones Ícono de más acciones. junto al depósito y selecciona Editar configuración del sitio web.

  4. En el cuadro de diálogo Configura el sitio web, especifica la Página principal y la Página 404 (No se encontró).

  5. Haz clic en Guardar.

gsutil

Usa el comando gsutil web set para establecer la propiedad MainPageSuffix con la marca -m y NotFoundPage con la marca -e:

gsutil web set -m index.html -e 404.html gs://www.example.com

Si se ejecuta correctamente, el comando mostrará lo siguiente:

Setting website config on gs://www.example.com/...

API de REST

API de JSON

  1. Obtén un token de acceso de autorización de OAuth 2.0 Playground. Configura la zona de pruebas para usar tus propias credenciales de OAuth.
  2. Crea un archivo .json que establezca las propiedades mainPageSuffix y notFoundPage en un objeto website en las páginas deseadas:
    {
    "website":{
    "mainPageSuffix": "index.html",
    "notFoundPage": "404.html"
    }
    }
  3. Usa cURL para llamar a la API de JSON con una solicitud de depósito PATCH. En el caso de www.example.com, usa lo siguiente:
    curl -X PATCH --data-binary @web-config.json \
     -H "Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg" \
     -H "Content-Type: application/json" \
     "https://www.googleapis.com/storage/v1/b/www.example.com"

API de XML

  1. Obtén un token de acceso de autorización de OAuth 2.0 Playground. Configura la zona de pruebas para usar tus propias credenciales de OAuth.
  2. Crea un archivo .xml que establezca los elementos MainPageSuffix y NotFoundPage en un elemento WebsiteConfiguration en las páginas deseadas:
    <WebsiteConfiguration>
    <MainPageSuffix>index.html</MainPageSuffix>
    <NotFoundPage>404.html</NotFoundPage>
    </WebsiteConfiguration>
  3. Usa cURL para llamar a la API de XML con una solicitud de depósito PUT y un parámetro de string de consulta websiteConfig. Para www.example.com, usa lo siguiente:
    curl -X PUT --data-binary @web-config.xml \
        -H "Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg" \
        https://storage.googleapis.com/www.example.com?websiteConfig

Prueba el sitio web

Verifica que el contenido se entregue desde el depósito mediante una solicitud del nombre de dominio en un navegador. Puedes hacer esto con una ruta a un objeto o solo con el nombre de dominio, si estableces la propiedad MainPageSuffix.

Por ejemplo, si tienes un objeto llamado test.html almacenado en un depósito llamado www.example.com, debes verificar que sea accesible. Para ello, dirígete a www.example.com/test.html en tu navegador.

Limpieza

Una vez que hayas terminado el instructivo de Hosting de un sitio web estático, puedes limpiar los recursos que creaste en Google Cloud Platform para que no se te facturen en el futuro. Las siguientes secciones describen cómo borrar o desactivar estos recursos.

Cómo borrar el proyecto

La manera más fácil de eliminar la facturación es borrar el proyecto que creaste para el instructivo.

Para borrar el proyecto, haz lo siguiente:

  1. In the GCP Console, go to the Projects page.

    Go to the Projects page

  2. In the project list, select the project you want to delete and click Delete .
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Borra el depósito

Si no quieres borrar proyecto completo, borra el depósito que usaste para alojar tu sitio web:

Console

  1. Abre el navegador de Cloud Storage en Google Cloud Platform Console.
    Abrir el navegador de Cloud Storage
  2. Selecciona la casilla de verificación del depósito que desees borrar.

  3. Haz clic en Borrar.

  4. En la ventana de superposición que aparece, haz clic en Borrar para confirmar que deseas borrar el depósito y su contenido.

gsutil

Usa el comando gsutil rm con la marca -r para borrar el depósito y su contenido:

gsutil rm -r gs://www.example.com

La respuesta se ve como el ejemplo siguiente:

Removing gs://www.example.com/...

Ejemplos de código

C++

A fin de obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C++.

namespace gcs = google::cloud::storage;
using google::cloud::StatusOr;
[](gcs::Client client, std::string bucket_name) {
  StatusOr<void> status = client.DeleteBucket(bucket_name);
  if (!status.ok()) {
    std::cerr << "Error while deleting bucket " << bucket_name
              << ", status=" << status.status() << std::endl;
    return;
  }
  std::cout << "The bucket " << bucket_name << " was deleted successfully."
            << std::endl;
}

C#

A fin de obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C#.

private void DeleteBucket(string bucketName)
{
    var storage = StorageClient.Create();
    storage.DeleteBucket(bucketName);
    Console.WriteLine($"Deleted {bucketName}.");
}

Go

A fin de obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Go.

if err := client.Bucket(bucketName).Delete(ctx); err != nil {
	return err
}

Java

A fin de obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Java.

boolean deleted = bucket.delete(BucketSourceOption.metagenerationMatch());
if (deleted) {
  // the bucket was deleted
} else {
  // the bucket was not found
}

Node.js

A fin de obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Node.js.

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

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

/**
 * TODO(developer): Uncomment the following line before running the sample.
 */
// const bucketName = 'Name of a bucket, e.g. my-bucket';

// Deletes the bucket
await storage.bucket(bucketName).delete();

console.log(`Bucket ${bucketName} deleted.`);

PHP

A fin de obtener más información, consulta la documentación de referencia de la API de Cloud Storage para PHP.

use Google\Cloud\Storage\StorageClient;

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

Python

A fin de obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Python.

def delete_bucket(bucket_name):
    """Deletes a bucket. The bucket must be empty."""
    storage_client = storage.Client()
    bucket = storage_client.get_bucket(bucket_name)
    bucket.delete()
    print('Bucket {} deleted'.format(bucket.name))

Ruby

A fin de obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Ruby.

# project_id  = "Your Google Cloud project ID"
# bucket_name = "Name of your Google Cloud Storage bucket to delete"

require "google/cloud/storage"

storage = Google::Cloud::Storage.new project_id: project_id
bucket  = storage.bucket bucket_name

bucket.delete

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

API de REST

API de JSON

Ten en cuenta que tu depósito debe estar vacío antes de que puedas borrarlo.

  1. Obtén un token de acceso de autorización de OAuth 2.0 Playground. Configura la zona de pruebas para usar tus propias credenciales de OAuth.
  2. Usa cURL para llamar a la API de JSON y reemplaza [VALUES_IN_BRACKETS] por los valores adecuados:
    curl -X DELETE -H "Authorization: Bearer [OAUTH2_TOKEN]" \
        "https://www.googleapis.com/storage/v1/b/www.example.com"

Si todo sale bien, la respuesta contendrá un código de estado 204.

Consulta la página de referencia de JSON Depósitos: borrar para obtener más información.

API de XML

Ten en cuenta que tu depósito debe estar vacío antes de que puedas borrarlo.

  1. Obtén un token de acceso de autorización de OAuth 2.0 Playground. Configura la zona de pruebas para usar tus propias credenciales de OAuth.
  2. Usa cURL para llamar a la API de XML y reemplaza [VALUES_IN_BRACKETS] por los valores adecuados:
    curl -X DELETE -H "Authorization: Bearer [OAUTH2_TOKEN]" \
        "https://storage.googleapis.com/www.example.com"

Consulta la página de referencia de XML Borra un depósito para obtener más información.

Pasos siguientes

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.