Crear una instancia

Una instancia de Bigtable es un contenedor de clústeres de Bigtable. Una instancia que tiene más de un clúster usa la replicación. Puedes crear clústeres en hasta 8 regiones, con tantos clústeres en cada región como zonas haya.

En esta página se explica cómo crear una instancia. Antes de leer esta página, debes familiarizarte con la descripción general de Bigtable. También debes leer la descripción general de las instancias, los clústeres y los nodos.

Antes de empezar

Prepara tu entorno:

  1. Sign in to your Google Account.

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

  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Bigtable API, Cloud Bigtable Admin API APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. Install the Google Cloud CLI.

  6. Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

  7. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  8. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  9. Verify that billing is enabled for your Google Cloud project.

  10. Enable the Cloud Bigtable API, Cloud Bigtable Admin API APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  11. Install the Google Cloud CLI.

  12. Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

  13. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  14. Ejecuta el siguiente comando para instalar la CLI de cbt:
    gcloud components install cbt
  15. Planifica la configuración:

    1. Opcional: Si tiene previsto habilitar la replicación, haga lo siguiente:

    2. Opcional: Si quieres usar claves de cifrado gestionadas por el cliente (CMEK) en lugar del cifrado predeterminado gestionado por Google, completa las tareas de la sección Crear una instancia habilitada para CMEK y ten listo el ID de tu clave CMEK antes de crear la nueva instancia. No puedes añadir protección con CMEK a una instancia después de crearla, ni modificar o sustituir la clave CMEK una vez creada la instancia.

    Crear una instancia

    Para crear una instancia de Bigtable, sigue estos pasos:

    Consola

    1. En la Google Cloud consola, ve a la página Crear instancia.

      Ir a Crear instancia

    2. Escribe un nombre para la instancia.

      La Google Cloud consola muestra este nombre para identificar tu instancia.

    3. Introduce un ID de instancia.

      El ID de instancia es un identificador permanente de la instancia.

    4. Haz clic en Continuar.

    5. Elige si quieres usar un disco SSD o HDD para tus clústeres. En la mayoría de los casos, es mejor usar un SSD. Esta selección es permanente. Más información

    6. Haz clic en Continuar.

    7. Introduce un ID de clúster para el primer clúster.

      El ID de clúster es un identificador permanente del clúster.

    8. Elige la región y la zona en las que se ejecutará el primer clúster.

    9. Opcional: Para configurar el clúster de forma que siempre se escale en incrementos de dos nodos, selecciona Habilitar escalado de nodos 2x. El escalado de nodos al doble no está disponible en todas las zonas. Para obtener más información, consulta Factor de escalado de nodos.

    10. Elige un modo de escalado de nodos para el clúster. En la mayoría de los casos, deberías elegir el escalado automático. Para obtener información sobre el escalado, consulta Escalado automático.

      1. En Asignación manual de nodos, introduce el número de nodos de Bigtable del primer clúster. Si no sabes cuántos nodos necesitas, usa el valor predeterminado. Puedes añadir más nodos más adelante.
      2. En Escalado automático, introduce los valores siguientes:
        • Número mínimo de nodos
        • Número máximo de nodos
        • Uso de CPU objetivo
        • Objetivo de utilización del almacenamiento
    11. Opcional: Para proteger tu instancia con una CMEK en lugar del cifrado predeterminado gestionado por Google, haz lo siguiente:

      1. Haz clic en Mostrar opciones de cifrado.
      2. Selecciona el botón de radio situado junto a Clave de cifrado gestionada por el cliente (CMEK).
      3. Seleccione o introduzca el nombre del recurso de la clave CMEK que quiera usar en el clúster. No podrás añadirlo más adelante.
      4. Si se te pide que concedas permiso a la cuenta de servicio de la clave CMEK, haz clic en Conceder. Para completar esta tarea, debes tener el rol de administrador de Cloud KMS en tu cuenta de usuario.
      5. Haz clic en Guardar.
    12. Opcional: Para habilitar la replicación ahora, completa los siguientes pasos adicionales:

      1. Haz clic en Mostrar opciones avanzadas.
      2. Haz clic en Añadir clúster, introduce la configuración del clúster y, a continuación, haz clic en Añadir. Repite este paso para crear más clústeres en la instancia. También puedes habilitar la replicación más adelante añadiendo un clúster.

      Cada zona de una región solo puede contener un clúster. Si el botón Añadir clúster está inhabilitado, cambia la zona de tu primer clúster.

      Para crear una instancia que tenga más de seis clústeres, primero crea una instancia con seis clústeres y, a continuación, añade más clústeres a la instancia.

    13. Haz clic en Crear para que se genere la instancia.

    14. Revisa los ajustes de replicación del perfil de aplicación predeterminado para ver si se ajustan a tu caso práctico de replicación. Puede que tengas que actualizar el perfil de aplicación predeterminado o crear perfiles de aplicación personalizados.

    gcloud

    1. Usa el comando bigtable instances create para crear una instancia:

      gcloud bigtable instances create INSTANCE_ID \
          --display-name=DISPLAY_NAME \
          [--cluster-storage-type=CLUSTER_STORAGE_TYPE] \
          [--cluster-config=id=CLUSTER_ID,zone=CLUSTER_ZONE, \
          nodes=NODES] \
          [--cluster-config=id=CLUSTER_ID,zone=CLUSTER_ZONE, \
          autoscaling-min-nodes=AUTOSCALING_MIN_NODES, \
          autoscaling-max-nodes=AUTOSCALING_MAX_NODES, \
          autoscaling-cpu-target=AUTOSCALING_CPU_TARGET, \
          autoscaling-storage-target=AUTOSCALING_STORAGE_TARGET, \
          kms-key=KMS_KEY], \
          [node-scaling-factor=NODE_SCALING_FACTOR]
      

      Haz los cambios siguientes:

      • INSTANCE_ID: identificador permanente de la instancia.
      • DISPLAY_NAME: Nombre legible por humanos que identifica la instancia en la Google Cloud consola.
      • CLUSTER_ID: Identificador permanente del clúster.
      • CLUSTER_ZONE: la zona en la que se ejecuta el clúster.

      Debes configurar al menos un clúster para la instancia con la marca --cluster-config. Para crear una instancia que tenga varios clústeres, repite la marca --cluster-config para cada clúster.

      En la asignación manual de nodos, el ajuste de nodes en la marca --cluster-config es opcional. Si no se define ningún valor, Bigtable asigna nodos al clúster automáticamente en función del espacio que ocupan los datos y optimiza el uso del almacenamiento al 50 %. Esta asignación automática de nodos tiene un impacto en los precios. Si quieres controlar el número de nodos de un clúster, sustituye NODES por el número de nodos que quieras que tenga el clúster. Más información sobre los nodos

      En la mayoría de los casos, elija el escalado automático en lugar de la asignación manual de nodos. En el caso de For_autoscaling, proporciona las opciones de autoscaling- en la marca --cluster-config (autoscaling-storage-target es opcional) y no uses nodes. Consulta la sección Autoescalado para obtener información sobre cómo elegir los valores de la configuración de autoescalado. Sustituye lo siguiente por las claves de opción de cluster-config:

      • AUTOSCALING_MIN_NODES: número mínimo de nodos del clúster.
      • AUTOSCALING_MAX_NODES: número máximo de nodos del clúster.
      • AUTOSCALING_CPU_TARGET: porcentaje de uso de CPU objetivo del clúster. Este valor debe estar comprendido entre 10 y 80.
      • AUTOSCALING_STORAGE_TARGET: (Opcional) El objetivo de uso del almacenamiento en GiB que Bigtable mantiene añadiendo o quitando nodos.
      • KMS_KEY: la clave CMEK del clúster.

        El valor de KMS_KEY debe tener el siguiente formato:

        projects/PROJECT/locations/LOCATION/keyRings/KEYRING/cryptoKeys/KEY
        
        

        Haz los cambios siguientes:

        • PROJECT: identificador permanente del proyecto
        • LOCATION: la ubicación de tu clúster
        • KEYRING: el nombre del conjunto de claves que contiene la clave
        • KEY: el nombre de la clave.

        A continuación, se muestra un ejemplo:

        projects/examplestore.com:dev/locations/us-east1/keyRings/devt-cmek-2/cryptoKeys/key2

        Si la instancia está protegida con CMEK, cada clúster debe estar en la misma región que su clave CMEK. Solo puedes añadir clústeres CMEK a instancias que ya estén protegidas con CMEK. Más información

      El comando acepta las siguientes marcas opcionales:

      • --cluster-storage-type=CLUSTER_STORAGE_TYPE: el tipo de almacenamiento que se va a usar en la instancia. El valor predeterminado es SSD. En la mayoría de los casos, el valor predeterminado es el más adecuado. Esta selección es permanente. Más información

      • --project=PROJECT: el proyecto en el que se creará el clúster si es diferente del proyecto actual.

      • node-scaling-factor=NODE_SCALING_FACTOR: una marca que habilita el escalado de nodos al doble. Puedes habilitar esta función tanto con el escalado manual como con el autoescalado. Los valores aceptados son node-scaling-factor-2x y node-scaling-factor-1x.

      Para ver una lista de las zonas de Bigtable que no están disponibles para el escalado de nodos al doble, consulta Limitaciones del factor de escalado de nodos.

    2. Revisa los ajustes de replicación del perfil de aplicación predeterminado para ver si se ajustan a tu caso práctico de replicación. Puede que tengas que actualizar el perfil de aplicación predeterminado o crear perfiles de aplicación personalizados.

    cbt

    1. Empieza creando una instancia con un solo clúster. Utiliza el comando createinstance para crear una instancia:

      cbt createinstance INSTANCE_ID \
          DISPLAY_NAME \
          CLUSTER_ID \
          CLUSTER_ZONE \
          CLUSTER_NUM_NODES \
          CLUSTER_STORAGE_TYPE
      

      Proporciona lo siguiente:

      • INSTANCE_ID: identificador permanente de la instancia.
      • DISPLAY_NAME: Nombre legible por humanos que identifica la instancia en la Google Cloud consola.
      • CLUSTER_ID: Identificador permanente del clúster.
      • CLUSTER_ZONE: la zona en la que se ejecuta el clúster.
      • CLUSTER_NUM_NODES: este campo es opcional. Si no se define ningún valor, Bigtable asigna nodos automáticamente en función del espacio que ocupan tus datos y optimiza el uso del almacenamiento al 50 %. Si quieres controlar el número de nodos de un clúster, actualiza el valor de CLUSTER_NUM_NODES. Asegúrate de que el número de nodos sea un valor distinto de cero. Más información sobre los nodos
      • CLUSTER_STORAGE_TYPE: Tipo de almacenamiento que se va a usar en el clúster. Cada clúster de una instancia debe usar el mismo tipo de almacenamiento. Acepta los valores SSD y HDD. En la mayoría de los casos, SSD es la mejor opción. Esta selección es permanente. Más información
    2. Para habilitar la replicación, usa el comando createcluster para añadir un clúster:

      
      cbt -instance=INSTANCE_ID \
      createcluster CLUSTER_ID \
      ZONE \
      NUM_NODES \
      STORAGE_TYPE
      
      

      Proporciona lo siguiente:

      • INSTANCE_ID: identificador permanente de la instancia que acabas de crear.
      • CLUSTER_ID: Identificador permanente del clúster.
      • ZONE: la zona en la que se ejecuta el clúster.

        Cada zona de una región solo puede contener un clúster. Por ejemplo, si una instancia tiene un clúster en us-east1-b, puedes añadir un clúster en otra zona de la misma región, como us-east1-c, o en una zona de otra región, como europe-west2-a.

      • NUM_NODES: Este campo es opcional. Si no se define ningún valor, Bigtable asigna nodos automáticamente en función del espacio que ocupan tus datos y optimiza el uso del almacenamiento al 50 %. Si quieres controlar el número de nodos de un clúster, actualiza el valor de NUM_NODES. Asegúrate de que el número de nodos sea un valor distinto de cero.

        En muchos casos, cada clúster de una instancia debe tener el mismo número de nodos, pero hay excepciones. Consulta información sobre los nodos y la replicación.

      • STORAGE_TYPE: Tipo de almacenamiento que se va a usar en el clúster. Cada clúster de una instancia debe usar el mismo tipo de almacenamiento. Acepta los valores SSD y HDD.

    3. (Opcional) Revisa la configuración de replicación del perfil de aplicación predeterminado para ver si se ajusta a tu caso práctico de replicación. Puede que tengas que actualizar el perfil de aplicación predeterminado o crear perfiles de aplicación personalizados.

    C++

    Para saber cómo instalar y usar la biblioteca de cliente de Bigtable, consulta el artículo Bibliotecas de cliente de Bigtable.

    Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.

    namespace cbta = ::google::cloud::bigtable_admin;
    using ::google::cloud::future;
    using ::google::cloud::Location;
    using ::google::cloud::Project;
    using ::google::cloud::StatusOr;
    [](cbta::BigtableInstanceAdminClient instance_admin,
       std::string const& project_id, std::string const& instance_id,
       std::string const& zone) {
      auto const project = Project(project_id);
      std::string project_name = project.FullName();
      std::string cluster_id = instance_id + "-c1";
    
      google::bigtable::admin::v2::Instance in;
      in.set_type(google::bigtable::admin::v2::Instance::PRODUCTION);
      in.set_display_name("Put description here");
    
      google::bigtable::admin::v2::Cluster cluster;
      cluster.set_location(Location(project, zone).FullName());
      cluster.set_serve_nodes(3);
      cluster.set_default_storage_type(google::bigtable::admin::v2::HDD);
    
      std::map<std::string, google::bigtable::admin::v2::Cluster> cluster_map = {
          {cluster_id, std::move(cluster)}};
    
      future<StatusOr<google::bigtable::admin::v2::Instance>> instance_future =
          instance_admin.CreateInstance(project_name, instance_id, std::move(in),
                                        std::move(cluster_map));
      // Show how to perform additional work while the long running operation
      // completes. The application could use future.then() instead.
      std::cout << "Waiting for instance creation to complete " << std::flush;
      instance_future.wait_for(std::chrono::seconds(1));
      std::cout << '.' << std::flush;
      auto instance = instance_future.get();
      if (!instance) throw std::move(instance).status();
      std::cout << "DONE, details=" << instance->DebugString() << "\n";
    }

    C#

    Para saber cómo instalar y usar la biblioteca de cliente de Bigtable, consulta el artículo Bibliotecas de cliente de Bigtable.

    Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.

    // Creates a production instance with "<intanceId>-prod" instance ID,
    // with cluster ID "ssd-cluster1", 3 nodes and location us-east1-b.
    displayName += " Prod"; // Display name is for display purposes only. It doesn't have to equal instanceId and can be amended after instance is created.
    string instanceId = Regex.Replace(displayName, @"[^A-Za-z0-9_\.~]+", "-").ToLower();
    
    // Please refer to the link below for the full list of available locations:
    // https://cloud.google.com/bigtable/docs/locations
    string zone1 = "us-east1-b";
    
    // The instance to create.
    Instance myInstance = new Instance
    {
        DisplayName = displayName,
        // You can choose DEVELOPMENT or PRODUCTION type here.
        // If not set, will default to PRODUCTION type.
        // Instance type can be upgraded from DEVELOPMENT to PRODUCTION but cannot be dowgraded after the instance is created.
        Type = Instance.Types.Type.Production,
        Labels = { { "prod-label", "prod-label" } }
    };
    
    // The first cluster to be created within the instance.
    Cluster myCluster1 = new Cluster
    {
        // You can choose SSD or HDD storage type here: StorageType.Ssd or StorageType.Hdd.
        // Cluster storage type can not be changed after the instance is created.
        // If not set will default to SSD type.
        DefaultStorageType = StorageType.Ssd,
        LocationAsLocationName = new LocationName(projectId, zone1),
        // Serve Nodes count can only be set if PRODUCTION type instance is being created.
        // Minimum count of 3 serve nodes must be specified.
        // Serve Nodes count can be increased and decreased after an instance is created.
        ServeNodes = 3
    };
    
    // Initialize request argument(s).
    CreateInstanceRequest request = new CreateInstanceRequest
    {
        ParentAsProjectName = new ProjectName(projectId),
        Instance = myInstance,
        InstanceId = instanceId,
        // Must specify at lease one cluster.
        // Only PRODUCTION type instance can be created with more than one cluster.
        // Currently all clusters must have the same storage type.
        // Clusters must be set to different locations.
        Clusters = { { "ssd-cluster1", myCluster1 } }
    };
    
    try
    {
        // Make a request.
        Operation<Instance, CreateInstanceMetadata> createInstanceResponse =
            bigtableInstanceAdminClient.CreateInstance(request);
        Console.WriteLine("Waiting for operation to complete...");
    
        // Poll until the returned long-running operation is complete
        Operation<Instance, CreateInstanceMetadata> completedResponse =
            createInstanceResponse.PollUntilCompleted();
    }
    catch (Exception ex)
    {
        Console.WriteLine($"Exception while creating {displayName} instance");
        Console.WriteLine(ex.Message);
    }

    Java

    Para saber cómo instalar y usar la biblioteca de cliente de Bigtable, consulta el artículo Bibliotecas de cliente de Bigtable.

    Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.

    // Creates a Production Instance with the ID "ssd-instance",
    // cluster id "ssd-cluster", 3 nodes and location "us-central1-f".
    CreateInstanceRequest createInstanceRequest =
        CreateInstanceRequest.of(instanceId)
            .addCluster(clusterId, "us-central1-f", 3, StorageType.SSD)
            .setType(Instance.Type.PRODUCTION)
            .addLabel("department", "accounting");
    // Creates a production instance with the given request.
    try {
      Instance instance = adminClient.createInstance(createInstanceRequest);
      System.out.printf("PRODUCTION type instance %s created successfully%n", instance.getId());
    } catch (Exception e) {
      System.err.println("Failed to create instance: " + e.getMessage());
      throw e;
    }

    Node.js

    Para saber cómo instalar y usar la biblioteca de cliente de Bigtable, consulta el artículo Bibliotecas de cliente de Bigtable.

    Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.

    // Creates a Production Instance with the ID "ssd-instance"
    // with cluster id "ssd-cluster", 3 nodes and location us-central1-f
    
    const instanceOptions = {
      clusters: [
        {
          id: clusterID,
          nodes: 3,
          location: 'us-central1-f',
          storage: 'ssd',
        },
      ],
      type: 'PRODUCTION', // Optional as default type is PRODUCTION
      labels: {'prod-label': 'prod-label'},
    };
    
    // Create production instance with given options
    const [prodInstance, operation] = await instance.create(instanceOptions);
    await operation.promise();
    console.log(`Created Instance: ${prodInstance.id}`);

    PHP

    Para saber cómo instalar y usar la biblioteca de cliente de Bigtable, consulta el artículo Bibliotecas de cliente de Bigtable.

    Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.

    use Exception;
    use Google\ApiCore\ApiException;
    use Google\Cloud\Bigtable\Admin\V2\Client\BigtableInstanceAdminClient;
    use Google\Cloud\Bigtable\Admin\V2\Cluster;
    use Google\Cloud\Bigtable\Admin\V2\CreateInstanceRequest;
    use Google\Cloud\Bigtable\Admin\V2\GetInstanceRequest;
    use Google\Cloud\Bigtable\Admin\V2\Instance;
    use Google\Cloud\Bigtable\Admin\V2\Instance\Type as InstanceType;
    use Google\Cloud\Bigtable\Admin\V2\StorageType;
    
    /**
     * Create a production Bigtable instance
     *
     * @param string $projectId The Google Cloud project ID
     * @param string $instanceId The ID of the Bigtable instance to be generated
     * @param string $clusterId The ID of the cluster to be generated
     * @param string $locationId The Bigtable region ID where you want your instance to reside
     */
    function create_production_instance(
        string $projectId,
        string $instanceId,
        string $clusterId,
        string $locationId = 'us-east1-b'
    ): void {
        $instanceAdminClient = new BigtableInstanceAdminClient();
    
        $projectName = $instanceAdminClient->projectName($projectId);
        $instanceName = $instanceAdminClient->instanceName($projectId, $instanceId);
    
        $serveNodes = 3;
        $storageType = StorageType::SSD;
        $production = InstanceType::PRODUCTION;
        $labels = ['prod-label' => 'prod-label'];
    
        $instance = new Instance();
        $instance->setDisplayName($instanceId);
    
        $instance->setLabels($labels);
        $instance->setType($production);
    
        $cluster = new Cluster();
        $cluster->setDefaultStorageType($storageType);
        $locationName = $instanceAdminClient->locationName($projectId, $locationId);
        $cluster->setLocation($locationName);
        $cluster->setServeNodes($serveNodes);
        $clusters = [
            $clusterId => $cluster
        ];
        try {
            $getInstanceRequest = (new GetInstanceRequest())
                ->setName($instanceName);
            $instanceAdminClient->getInstance($getInstanceRequest);
            printf('Instance %s already exists.' . PHP_EOL, $instanceId);
            throw new Exception(sprintf('Instance %s already exists.' . PHP_EOL, $instanceId));
        } catch (ApiException $e) {
            if ($e->getStatus() === 'NOT_FOUND') {
                printf('Creating an Instance: %s' . PHP_EOL, $instanceId);
                $createInstanceRequest = (new CreateInstanceRequest())
                    ->setParent($projectName)
                    ->setInstanceId($instanceId)
                    ->setInstance($instance)
                    ->setClusters($clusters);
                $operationResponse = $instanceAdminClient->createInstance($createInstanceRequest);
                $operationResponse->pollUntilComplete();
                if (!$operationResponse->operationSucceeded()) {
                    print('Error: ' . $operationResponse->getError()->getMessage());
                } else {
                    printf('Instance %s created.', $instanceId);
                }
            } else {
                throw $e;
            }
        }
    }

    Python

    Para saber cómo instalar y usar la biblioteca de cliente de Bigtable, consulta el artículo Bibliotecas de cliente de Bigtable.

    Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.

    cluster = instance.cluster(
        cluster_id,
        location_id=location_id,
        serve_nodes=serve_nodes,
        default_storage_type=storage_type,
    )
    if not instance.exists():
        print("\nCreating an instance")
        # Create instance with given options
        operation = instance.create(clusters=[cluster])
        # Ensure the operation completes.
        operation.result(timeout=480)
        print("\nCreated instance: {}".format(instance_id))

    Ruby

    Para saber cómo instalar y usar la biblioteca de cliente de Bigtable, consulta el artículo Bibliotecas de cliente de Bigtable.

    Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.

    # instance_id      = "my-instance"
    # cluster_id       = "my-cluster"
    # cluster_location = "us-east1-b"
    puts "Creating a PRODUCTION Instance"
    job = bigtable.create_instance(
      instance_id,
      display_name: "Sample production instance",
      labels:       { "env": "production" },
      type:         :PRODUCTION # Optional as default type is :PRODUCTION
    ) do |clusters|
      clusters.add cluster_id, cluster_location, nodes: 3, storage_type: :SSD
    end
    
    job.wait_until_done!
    instance = job.instance
    puts "Created Instance: #{instance.instance_id}"

    Siguientes pasos