Instanz erstellen

Eine Bigtable-Instanz ist ein Container für Bigtable Cluster. Eine Instanz mit mehr als einem Cluster verwendet Replikation. Sie können Cluster in bis zu acht Regionen erstellen, wobei in jeder Region so viele Cluster wie Zonen vorhanden sind.

Auf dieser Seite wird erläutert, wie Sie eine Instanz erstellen. Voraussetzung dafür ist die Kenntnis der Übersicht über Bigtable. Sie sollten auch die Übersicht über Instanzen, Cluster und Knoten lesen.

Hinweis

Bereiten Sie Ihre Umgebung vor:

  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.

    Go to project selector

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

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

    Enable the APIs

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

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

    Go to project selector

  8. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

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

    Enable the APIs

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init
  12. Führen Sie den folgenden Befehl aus, um die cbt-Befehlszeile :
    gcloud components install cbt

Planen Sie Ihre Konfiguration:

  1. Optional: Wenn Sie die Replikation aktivieren möchten, gehen Sie so vor:

  2. Optional: Wenn Sie vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-managed Encryption Keys, CMEK) statt der standardmäßigen von Google verwalteten Verschlüsselung verwenden möchten, führen Sie die Aufgaben unter CMEK-fähige Instanz erstellen aus und halten Sie Ihre CMEK-Schlüssel-ID bereit, bevor Sie Ihre neue Instanz erstellen. Nachdem eine Instanz erstellt wurde, können Sie den CMEK-Schutz nicht mehr hinzufügen und Sie können den CMEK-Schlüssel nicht mehr ändern oder ersetzen.

Instanz erstellen

So erstellen Sie eine Bigtable-Instanz:

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Instanz erstellen.

    Zur Seite „Instanz erstellen”

  2. Einen Namen für die Instanz eingeben.

    In der Google Cloud Console wird dieser Name angezeigt, um Ihre Instanz zu identifizieren.

  3. Geben Sie eine Instanz-ID ein.

    Die Instanz-ID ist eine permanente Kennzeichnung für die Instanz.

  4. Klicken Sie auf Weiter.

  5. Entscheiden Sie sich, ob Sie in den Clustern SSD- oder HDD-Laufwerke verwenden möchten. In den meisten Fällen ist SSD am besten. Diese Entscheidung ist dauerhaft. Weitere Informationen

  6. Klicken Sie auf Weiter.

  7. Geben Sie eine Cluster-ID für den ersten Cluster ein.

    Die Cluster-ID ist eine permanente Kennzeichnung für den Cluster.

  8. Wählen Sie die Region und Zone aus, in denen der erste Cluster ausgeführt werden soll.

  9. Wählen Sie einen Knotenskalierungsmodus für den Cluster aus. In den meisten Fällen sollten Sie die automatische Skalierung auswählen. Hinweise zur Skalierung finden Sie unter Autoscaling.

    1. Geben Sie für Manuelle Knotenzuweisung die Anzahl der Bigtable-Knoten für den ersten Cluster ein. Wenn Sie sich nicht sicher sind, wie viele Knoten Sie benötigen, verwenden Sie den Standardwert. Sie können später weitere Knoten hinzufügen.
    2. Geben Sie unter Autoscaling Werte für Folgendes ein:
      • Mindestanzahl von Knoten
      • Maximale Anzahl von Knoten
      • CPU-Auslastungsziel
      • Speicherauslastungsziel
  10. (Optional) Führen Sie die folgenden Schritte aus, um Ihre Instanz mit CMEK anstelle der von Google verwalteten Standardverschlüsselung zu schützen:

    1. Klicken Sie auf Verschlüsselungsoptionen anzeigen.
    2. Wählen Sie das Optionsfeld neben Vom Kunden verwalteter Verschlüsselungsschlüssel (CMEK) aus.
    3. Wählen Sie den Ressourcennamen für den CMEK aus, den Sie für den Cluster verwenden möchten, oder geben Sie ihn ein. Diese kann später nicht hinzugefügt werden.
    4. Wenn Sie aufgefordert werden, dem Dienstkonto des CMEK-Schlüssels die Berechtigung zu erteilen, klicken Sie auf Gewähren. Damit Sie diese Aufgabe ausführen können, muss Ihrem Nutzerkonto die Rolle "Cloud KMS-Administrator" zugewiesen sein.
    5. Klicken Sie auf Speichern.
  11. (Optional) Führen Sie die folgenden zusätzlichen Schritte aus, um die Replikation jetzt zu aktivieren:

    1. Klicken Sie auf Erweiterte Optionen einblenden.
    2. Klicken Sie auf Cluster hinzufügen, geben Sie die Einstellungen für den Cluster ein und klicken Sie auf Hinzufügen. Wiederholen Sie diesen Schritt, um weitere Cluster in der Instanz zu erstellen. Sie können die Replikation auch später aktivieren, indem Sie einen Cluster hinzufügen.

    Jede Zone in einer Region kann nur einen Cluster enthalten. Wenn die Schaltfläche Cluster hinzufügen deaktiviert ist, ändern Sie die Zone für den ersten Cluster.

    Wenn Sie eine Instanz mit mehr als sechs Clustern erstellen möchten, erstellen Sie zuerst eine Instanz mit sechs Clustern und fügen Sie ihr dann weitere Cluster hinzu.

  12. Klicken Sie auf Erstellen, um die Instanz zu erstellen.

  13. Prüfen Sie die Replikationseinstellungen im standardmäßigen Anwendungsprofil, um zu bestimmen, ob sie für Ihren Replikations-Anwendungsfall sinnvoll sind. Möglicherweise müssen Sie das standardmäßige Anwendungsprofil aktualisieren oder benutzerdefinierte Anwendungsprofile erstellen.

gcloud

  1. Verwenden Sie den Befehl bigtable instances create, um eine Instanz zu erstellen:

    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]
    

    Ersetzen Sie Folgendes:

    • INSTANCE_ID: Die permanente Kennzeichnung der Instanz.
    • DISPLAY_NAME: Ein für Menschen lesbarer Name, der die Instanz in der Google Cloud Console identifiziert.
    • CLUSTER_ID: Die permanente Kennzeichnung des Clusters
    • CLUSTER_ZONE: Zone, in der der Cluster ausgeführt wird.

    Sie müssen Sie mindestens einen Cluster für die Instanz konfigurieren, indem Sie das Flag --cluster-config verwenden. Zum Erstellen einer Instanz mit mehreren Clustern wiederholen Sie das Flag --cluster-config für jeden Cluster.

    Bei der manuellen Knotenzuweisung ist die Einstellung von nodes im Flag --cluster-config optional. Wenn kein Wert festgelegt ist, weist Bigtable dem Cluster automatisch Knoten basierend auf Ihrem Datenvolumen zu und optimiert ihn für eine Speicherauslastung von 50 %. Diese automatische Zuweisung von Knoten wirkt sich auf die Preise aus. Wenn Sie die Anzahl der Knoten in einem Cluster steuern möchten, ersetzen Sie NODES durch die gewünschte Anzahl der Knoten im Cluster. Weitere Informationen zu Knoten

    In den meisten Fällen wählen Sie anstelle der manuellen Knotenzuweisung Autoscaling aus. Für das Autoscaling stellen Sie die autoscaling--Optionen im Flag --cluster-config (autoscaling-storage-target ist optional) und nodes nicht verwenden. Informationen zur Auswahl der Werte für Ihre Autoscaling-Einstellungen finden Sie unter Autoscaling. Ersetzen Folgendes für die Optionstasten cluster-config festlegen:

    • AUTOSCALING_MIN_NODES: Die Mindestanzahl von Knoten für den Cluster.
    • AUTOSCALING_MAX_NODES: Die maximale Anzahl von Knoten für den Cluster.
    • AUTOSCALING_CPU_TARGET: Die CPU-Zielauslastung für den Cluster in Prozent. Dieser Wert muss zwischen 10 und 80 liegen.
    • AUTOSCALING_STORAGE_TARGET: (Optional) Das Speicherauslastungsziel, das Bigtable durch Hinzufügen oder Entfernen von Knoten verwaltet, in GiB.
    • KMS_KEY: Der CMEK für den Cluster.

      Der Wert für KMS_KEY muss das folgende Format haben:

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

      Ersetzen Sie Folgendes:

      • PROJECT: die permanente Kennzeichnung des Projekts
      • LOCATION: Der Standort Ihres Clusters
      • KEYRING: der Name des Schlüsselbunds, der den Schlüssel enthält
      • KEY: der Name des Schlüssels

      Hier ein Beispiel:

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

      Wenn die Instanz durch einen CMEK geschützt ist, muss sich jeder Cluster in derselben Region wie sein CMEK befinden. Sie können Fügen Sie CMEK-Cluster nur zu Instanzen hinzu, die bereits CMEK-geschützt sind. Weitere Informationen

    Der Befehl akzeptiert die folgenden optionalen Flags:

    • --cluster-storage-type=CLUSTER_STORAGE_TYPE: Der Speichertyp, der für die Instanz verwendet werden soll. Der Standardwert ist SSD. In den meisten Fällen ist der Standardwert am besten. Diese Entscheidung ist dauerhaft. Weitere Informationen

    • --project=PROJECT: Das Projekt, in dem der Cluster erstellt werden soll, wenn es sich vom aktuellen Projekt unterscheidet.

  2. Prüfen Sie die Replikationseinstellungen im standardmäßigen Anwendungsprofil, um zu bestimmen, ob sie für Ihren Replikations-Anwendungsfall sinnvoll sind. Möglicherweise müssen Sie das standardmäßige Anwendungsprofil aktualisieren oder benutzerdefinierte Anwendungsprofile erstellen.

cbt

  1. Erstellen Sie zuerst eine Instanz mit einem einzelnen Cluster. Verwenden Sie den Befehl createinstance, um eine Instanz zu erstellen:

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

    Machen Sie folgende Angaben:

    • INSTANCE_ID: Die permanente Kennzeichnung der Instanz.
    • DISPLAY_NAME: Ein für Menschen lesbarer Name, der die Instanz in der Google Cloud Console identifiziert.
    • CLUSTER_ID: Die permanente Kennzeichnung des Clusters
    • CLUSTER_ZONE: Zone, in der der Cluster ausgeführt wird.
    • CLUSTER_NUM_NODES: Dieses Feld ist optional. Wenn kein Wert festgelegt ist, Weist Knoten anhand Ihres Datenvolumens zu und optimiert sie für 50% Speicher Auslastung. Wenn Sie die Anzahl der Knoten in einem Cluster steuern möchten, aktualisieren Sie den Wert CLUSTER_NUM_NODES. Die Anzahl der Knoten muss einen Wert ungleich Null haben. Weitere Informationen zu Knoten
    • CLUSTER_STORAGE_TYPE: Der Speichertyp, der für den Cluster verwendet werden soll. Für jeden Cluster in einer Instanz muss der gleiche Speichertyp verwendet werden. Die Werte SSD und HDD werden akzeptiert. In den meisten Fällen ist SSD am besten. Diese Entscheidung ist dauerhaft. Weitere Informationen
  2. Verwenden Sie zum Aktivieren der Replikation den Befehl createcluster, um einen Cluster hinzuzufügen:

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

    Machen Sie folgende Angaben:

    • INSTANCE_ID: Die permanente Kennzeichnung der gerade erstellten Instanz
    • CLUSTER_ID: Die permanente Kennzeichnung des Clusters
    • ZONE: Die Zone, in der der Cluster ausgeführt wird.

      Jede Zone in einer Region kann nur einen Cluster enthalten. Wenn eine Instanz beispielsweise einen Cluster in us-east1-b hat, können Sie einen Cluster in einer anderen Zone in derselben Region, z. B. us-east1-c, oder in einer Zone in einer separaten Region wie europe-west2-a hinzufügen.

    • NUM_NODES: Dieses Feld ist optional. Wenn kein Wert festgelegt ist, weist Bigtable automatisch Knoten basierend auf Ihrem Datenvolumen zu und optimiert die Speichernutzung auf 50 %. Wenn Sie die Anzahl der Knoten in einem Cluster steuern möchten, aktualisieren Sie den Wert NUM_NODES. Achten Sie darauf, dass die Anzahl der Knoten auf einen Wert ungleich null festgelegt ist.

      In vielen Fällen ist es am sinnvollsten, wenn alle Cluster in einer Instanz gleich viele Knoten haben, aber es gibt Ausnahmen. Weitere Informationen zu Knoten und Replikation

    • STORAGE_TYPE: Der Speichertyp, der für den Cluster verwendet werden soll. Für jeden Cluster in einer Instanz muss der gleiche Speichertyp verwendet werden. Die Werte SSD und HDD werden akzeptiert.

  3. Optional: Prüfen Sie die Replikationseinstellungen im standardmäßigen Anwendungsprofil, um zu bestimmen, ob sie für Ihren Replikations-Anwendungsfall sinnvoll sind. Möglicherweise müssen Sie das standardmäßige Anwendungsprofil aktualisieren oder benutzerdefinierte Anwendungsprofile erstellen.

C++

Informationen zum Installieren und Verwenden der Clientbibliothek für Bigtable finden Sie unter Bigtable-Clientbibliotheken

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Bigtable zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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#

Informationen zum Installieren und Verwenden der Clientbibliothek für Bigtable finden Sie unter Bigtable-Clientbibliotheken.

Richten Sie zur Authentifizierung bei Bigtable die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

// 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

Informationen zum Installieren und Verwenden der Clientbibliothek für Bigtable finden Sie unter Bigtable-Clientbibliotheken.

Richten Sie zur Authentifizierung bei Bigtable die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

// 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

Informationen zum Installieren und Verwenden der Clientbibliothek für Bigtable finden Sie unter Bigtable-Clientbibliotheken

Richten Sie zur Authentifizierung bei Bigtable die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

// 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

Informationen zum Installieren und Verwenden der Clientbibliothek für Bigtable finden Sie unter Bigtable-Clientbibliotheken.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Bigtable zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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

Informationen zum Installieren und Verwenden der Clientbibliothek für Bigtable finden Sie unter Bigtable-Clientbibliotheken

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Bigtable zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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

Informationen zum Installieren und Verwenden der Clientbibliothek für Bigtable finden Sie unter Bigtable-Clientbibliotheken.

Richten Sie zur Authentifizierung bei Bigtable die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

# 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}"

Nächste Schritte