Crea depósitos de almacenamiento

En esta página, se muestra cómo crear depósitos de Cloud Storage. Para obtener una descripción general de los depósitos, consulta los Términos clave. Si no se especifica lo contrario en tu solicitud, los depósitos se crean en la multirregión US y tienen una clase de almacenamiento predeterminada de Standard Storage.

Para crear un depósito de almacenamiento nuevo, sigue estos pasos:

Console

  1. Abre el navegador de Cloud Storage en Google Cloud Console.
    Abrir el navegador de Cloud Storage
  2. Haz clic en Crear depósito para abrir el formulario de creación de depósitos.
  3. Depósito nuevo.

  4. Ingresa la información de tu depósito y haz clic en Continuar (Continue) para completar cada paso:
    • Especifica un Nombre, sujeto a los requisitos de nombre de depósitos.
    • Selecciona una clase de almacenamiento predeterminada para el depósito. La clase de almacenamiento predeterminada se asignará a todos los objetos que se suban al depósito. Luego, selecciona una Ubicación donde se almacenarán los datos del depósito de forma permanente.

      Nota: El panel Estimación de costo mensual en el panel derecho calcula los costos mensuales del depósito en función de la clase y ubicación de almacenamiento seleccionadas, así como las operaciones y el tamaño de los datos esperados.

    • Selecciona un modelo de control de acceso para determinar cómo controlar el acceso a los objetos del depósito.
    • De forma opcional, puedes agregar etiquetas de depósito, establecer una política de retención y elegir un método de encriptación.
  5. Haz clic en Listo.

gsutil

Usa el comando gsutil mb:

gsutil mb gs://[BUCKET_NAME]/

En el ejemplo anterior, se ilustra lo siguiente:

Configura las siguientes marcas opcionales para tener un mayor control sobre la creación de tu depósito:

Por ejemplo:

  gsutil mb -p [PROJECT_ID] -c [STORAGE_CLASS] -l [BUCKET_LOCATION] -b on gs://[BUCKET_NAME]/

Muestras de código

C++

Si deseas 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> bucket_metadata =
      client.CreateBucket(bucket_name, gcs::BucketMetadata());

  if (!bucket_metadata) {
    throw std::runtime_error(bucket_metadata.status().message());
  }

  std::cout << "Bucket " << bucket_metadata->name() << " created."
            << "\nFull Metadata: " << *bucket_metadata << "\n";
}

C#

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

public static Bucket StorageCreateBucket(string projectId, string bucketName)
{
    var storage = StorageClient.Create();
    var bucket = storage.CreateBucket(projectId, bucketName);
    Console.WriteLine($"Created {bucketName}.");
    return bucket;
}

Go

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

ctx := context.Background()
bucket := client.Bucket(bucketName)

ctx, cancel := context.WithTimeout(ctx, time.Second*10)
defer cancel()
if err := bucket.Create(ctx, projectID, &storage.BucketAttrs{
	StorageClass: "COLDLINE",
	Location:     "asia",
}); err != nil {
	return err
}

Java

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

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

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

    // The ID to give your GCS bucket
    // String bucketName = "your-unique-bucket-name";

    Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService();

    // See the StorageClass documentation for other valid storage classes:
    // https://googleapis.dev/java/google-cloud-clients/latest/com/google/cloud/storage/StorageClass.html
    StorageClass storageClass = StorageClass.COLDLINE;

    // See this documentation for other valid locations:
    // http://g.co/cloud/storage/docs/bucket-locations#location-mr
    String location = "asia";

    Bucket bucket =
        storage.create(
            BucketInfo.newBuilder(bucketName)
                .setStorageClass(storageClass)
                .setLocation(location)
                .build());

    System.out.println(
        "Created bucket "
            + bucket.getName()
            + " in "
            + bucket.getLocation()
            + " with storage class "
            + bucket.getStorageClass());
  }
}

Node.js

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

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

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

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

async function createBucket() {
  // Creates a new bucket in the Asia region with the coldline default storage
  // class. Leave the second argument blank for default settings.
  //
  // For default values see: https://cloud.google.com/storage/docs/locations and
  // https://cloud.google.com/storage/docs/storage-classes

  const [bucket] = await storage.createBucket(bucketName, {
    location: 'ASIA',
    storageClass: 'COLDLINE',
  });

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

createBucket().catch(console.error);

PHP

Si deseas 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.
 *
 */
function create_bucket($bucketName, $options = [])
{
    $storage = new StorageClient();
    $bucket = $storage->createBucket($bucketName, $options);
    printf('Bucket created: %s' . PHP_EOL, $bucket->name());
}

Python

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

from google.cloud import storage

def create_bucket(bucket_name):
    """Creates a new bucket."""
    # bucket_name = "your-new-bucket-name"

    storage_client = storage.Client()

    bucket = storage_client.create_bucket(bucket_name)

    print("Bucket {} created".format(bucket.name))

Ruby

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

# 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
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 autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus propias credenciales de OAuth.
  2. Crea un archivo .json que contenga la siguiente información:
  3. {
      "name": "[BUCKET_NAME]",
      "location": "[BUCKET_LOCATION]",
      "storageClass": "[STORAGE_CLASS]"
    }

    Donde:

  4. Usa cURL para llamar a la API de JSON:
    curl -X POST --data-binary @[JSON_FILE_NAME].json \
         -H "Authorization: Bearer [OAUTH2_TOKEN]" \
         -H "Content-Type: application/json" \
         "https://storage.googleapis.com/storage/v1/b?project=[PROJECT_ID]"

    En el ejemplo anterior, se ilustra lo siguiente:

    • [JSON_FILE_NAME] es el nombre del archivo JSON que creaste en el paso 2.
    • [OAUTH2_TOKEN] es el token de acceso que generaste en el paso 1.
    • [PROJECT_ID] es el ID del proyecto al que se asociará tu depósito. Por ejemplo, my-project.

API de XML

  1. Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth.
  2. Crea un archivo .xml que contenga la siguiente información:
  3. <CreateBucketConfiguration>
       <LocationConstraint>[BUCKET_LOCATION]</LocationConstraint>
       <StorageClass>[STORAGE_CLASS]</StorageClass>
    </CreateBucketConfiguration>

    Donde:

  4. Usa cURL para llamar a la API de XML:
    curl -X PUT --data-binary @[XML_FILE_NAME].xml \
         -H "Authorization: Bearer [OAUTH2_TOKEN]" \
         -H "x-goog-project-id: [PROJECT_ID]" \
         "https://storage.googleapis.com/[BUCKET_NAME]"

    En el ejemplo anterior, se ilustra lo siguiente:

    • [XML_FILE_NAME] es el nombre del archivo XML que creaste en el paso 2.
    • [OAUTH2_TOKEN] es el token de acceso que generaste en el paso 1.
    • [PROJECT_ID] es el ID del proyecto al que se asociará tu depósito. Por ejemplo, my-project.
    • [BUCKET_NAME] es el nombre que quieres asignar a tu depósito, sujeto a los requisitos de nomenclatura. Por ejemplo, my-bucket.

Próximos pasos