Clientbibliotheken aktualisieren

Auf dieser Seite wird gezeigt, wie Sie ein Upgrade einer zuvor installierten Cloud Bigtable-Clientbibliothek durchführen. Wenn Sie eine Clientbibliothek zum ersten Mal installieren müssen, folgen Sie der Anleitung für Ihre bevorzugte Programmiersprache unter Cloud Bigtable-Clientbibliotheken.

Bigtable-Client für Java

Die Convenience-Methoden in BigtableTableAdminClient und BigtableInstanceAdminClient sind veraltet.

So aktualisieren Sie Ihren Code:

  1. Instanziieren Sie die V2-Clients BigtableTableAdminClientV2 und BigtableInstanceAdminClientV2 mit der statischen Factory-Methode create().
  2. Ersetzen Sie die benutzerdefinierten Wrapper-Anfrageobjekte wie com.google.cloud.bigtable.admin.v2.models.CreateTableRequest durch Standard-Protokollzwischenspeicher-Anfrageobjekte wie com.google.bigtable.admin.v2.CreateTableRequest.
  3. Achten Sie darauf, dass die neuen Standard-Protokollzwischenspeicher-Anfrageobjekte vollständig qualifizierte Ressourcennamen verwenden.
  4. Rufen Sie die Standard-Protokollzwischenspeichermethoden direkt für Ihre neuen V2-Clients auf.
  5. Ersetzen Sie die Platzhaltervariablen in Ihrem Code durch IDs, wie im folgenden Beispiel gezeigt:

    // Existing code
    BigtableTableAdminClient adminClient = BigtableTableAdminClient.create(PROJECT_ID, INSTANCE_ID);
    adminClient.createTable(
        CreateTableRequest.of(TABLE_ID)
            .addFamily("cf1"));
    
    // New code
    import com.google.bigtable.admin.v2.ColumnFamily;
    import com.google.bigtable.admin.v2.CreateTableRequest;
    import com.google.bigtable.admin.v2.Table;
    import com.google.cloud.bigtable.admin.v2.BigtableTableAdminClientV2;
    
    // ...
    
    try (BigtableTableAdminClientV2 adminClient = BigtableTableAdminClientV2.create()) {
      String parent = "projects/" + PROJECT_ID + "/instances/" + INSTANCE_ID;
      CreateTableRequest request =
          CreateTableRequest.newBuilder()
              .setParent(parent)
              .setTableId(TABLE_ID)
              .setTable(Table.newBuilder()
                  .putColumnFamilies("cf1", ColumnFamily.getDefaultInstance())
                  .build())
              .build();
      adminClient.createTable(request);
    }
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID Ihres Bigtable-Projekts
    • INSTANCE_ID: die ID Ihrer Bigtable-Instanz
    • TABLE_ID: die ID für Ihre neue Tabelle

HBase-Client für Java

Wenn Sie für den HBase-Client für Java ab Version 1.0 ein Upgrade ausführen möchten, müssen Sie nur die Versionsnummer in der Konfiguration aktualisieren. Der Code muss nicht aktualisiert werden.

Wenn Sie den HBase-Client vor Version 1.0 aktualisieren möchten, führen Sie die folgenden Schritte aus:

  1. Aktualisieren Sie Ihre Abhängigkeiten, um die neueste Clientbibliothek zu verwenden, und entfernen Sie Artefakte, die Sie nicht mehr benötigen:

    • Entfernen Sie, sofern vorhanden, die Artefakte bigtable-hbase-1.0, bigtable-hbase-1.1 und bigtable-hbase-1.2 aus den Abhängigkeiten.

    • Entfernen Sie netty-tcnative-boringssl-static aus den Abhängigkeiten, sofern dies nicht für einen anderen Teil Ihrer Anwendung erforderlich ist.

    • Fügen Sie Ihren Abhängigkeiten je nach Anwendungsfall eines der folgenden Artefakte hinzu. Die 2.x-Versionen enthalten einen asynchronen HBase-Client, den die 1.x-Versionen nicht haben.

      • bigtable-hbase-1.x oder bigtable-hbase-2.x: Wird für eigenständige Anwendungen verwendet, in denen Sie die Kontrolle über Ihre Abhängigkeiten haben.
      • bigtable-hbase-1.x-hadoop oder bigtable-hbase-2.x-hadoop: Verwendung in Hadoop-Umgebungen.
      • bigtable-hbase-1.x-shaded oder bigtable-hbase-2.x-shaded: Verwendung in Umgebungen außer Hadoop, für die ältere Versionen von Komponenten wie protobuf oder Guava erforderlich sind.
  2. Aktualisieren Sie Ihre Konfigurationseinstellungen zur Verbindungsherstellung mit Bigtable.

    • Wenn die Konfigurationseinstellungen in Ihrem Code oder in einer hbase-site.xml-Datei einen Wert für hbase.client.connection.impl enthalten, müssen Sie den Wert in com.google.cloud.bigtable.hbase1_x.BigtableConnection ändern.

    • Wenn Sie die Klasse BigtableConnection direkt verwenden, aktualisieren Sie den Code, sodass stattdessen com.google.cloud.bigtable.hbase1_x.BigtableConnection verwendet wird.

    • Wenn Sie eine hbase-site.xml-Datei verwenden, um eine Verbindung zu Bigtable herzustellen:

      • Fügen Sie das Attribut google.bigtable.instance.id hinzu, falls es nicht vorhanden ist. Legen Sie den Attributwert als Ihre Instanz-ID fest.
      • Entfernen Sie das Attribut google.bigtable.cluster.name, sofern vorhanden.
      • Entfernen Sie das Attribut google.bigtable.zone.name, sofern vorhanden.
    • Wenn Sie eine Verbindung zu Bigtable durch Aufrufen von BigtableConfiguration.connect() herstellen, aktualisieren Sie Ihren Code wie im folgenden Beispiel dargestellt:

    // Existing code
    BigtableConfiguration.connect(PROJECT_ID, ZONE_ID, CLUSTER_ID);
    
    // New code
    BigtableConfiguration.connect(PROJECT_ID, INSTANCE_ID);
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID Ihres Projekts.
    • ZONE_ID: die Zone, in der sich Ihr Cluster befindet.
    • CLUSTER_ID: die ID Ihres Clusters.
    • INSTANCE_ID: die ID Ihrer Instanz.
  3. Stellen Sie Ihre Anwendung noch einmal bereit in all Ihren Umgebungen, einschließlich der lokalen Entwicklungs-, Test-, Staging- und Produktionsumgebung.

Eine Versionsliste für den HBase-Client für Java finden Sie im Versionsverlauf auf GitHub.

Go

Im Juni 2016 wurde beim Go-Client die Art und Weise geändert, mit der eine Verbindung zu Bigtable hergestellt wird. Geben Sie anstelle einer Cluster-ID und Zone eine Instanz-ID an. Sie finden die Instanz-ID in der Console Google Cloud .

Rufen Sie das Code-Repository auf GitHub auf, um die Clientbibliothek herunterzuladen.

Aktualisieren Sie Ihren Code wie im folgenden Beispiel dargestellt:

  // Existing code
  adminClient, err := bigtable.NewAdminClient(ctx, PROJECT_ID, ZONE, CLUSTER_ID)
  client, err := bigtable.NewClient(ctx, PROJECT_ID, ZONE, CLUSTER_ID)

  // New code
  adminClient, err := bigtable.NewAdminClient(ctx, PROJECT_ID, INSTANCE_ID)
  client, err := bigtable.NewClient(ctx, PROJECT_ID, INSTANCE_ID)

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID Ihres Projekts.
  • ZONE: die Zone, in der sich Ihr Cluster befindet.
  • CLUSTER_ID: die ID des Clusters, zu dem Sie eine Verbindung herstellen möchten.
  • INSTANCE_ID: die ID der Instanz, zu der Sie eine Verbindung herstellen möchten.

Eine Versionsliste für die Go-Clientbibliothek finden Sie im Versionsverlauf auf GitHub.

Nächste Schritte