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.

Um Ihren Code zu aktualisieren, instanziieren Sie die V2-Clients (BigtableTableAdminClientV2 und BigtableInstanceAdminClientV2) mit der statischen Factory-Methode create(). Rufen Sie die Standardmethoden für Protokollzwischenspeicher direkt für diese Clients auf.

Dazu müssen benutzerdefinierte Wrapper-Anfrageobjekte (z. B. com.google.cloud.bigtable.admin.v2.models.CreateTableRequest) durch standardmäßige Protokollzwischenspeicher-Anfrageobjekte (z. B. com.google.bigtable.admin.v2.CreateTableRequest) ersetzt werden, für die vollständig qualifizierte Ressourcennamen erforderlich sind.

Aktualisieren Sie Ihren Code 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 Kennung Ihres Bigtable-Projekts
  • INSTANCE_ID: die ID Ihrer Bigtable-Instanz
  • TABLE_ID: Die Kennung für die 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 anderen Umgebungen als 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 Kennung Ihres Projekts.
    • ZONE_ID: Die Zone, in der sich der Cluster befindet.
    • CLUSTER_ID: Die Kennung Ihres Clusters.
    • INSTANCE_ID: Die Kennung Ihrer Instanz.
  3. Stellen Sie Ihre Anwendung noch einmal in all Ihren Umgebungen bereit, 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 derGoogle Cloud Console.

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

Aktualisieren Sie Ihren Code wie im folgenden Beispiel gezeigt:

  // 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 Kennung Ihres Projekts.
  • ZONE: Die Zone, in der sich der Cluster befindet.
  • CLUSTER_ID: die Kennung des Clusters, mit dem Sie eine Verbindung herstellen möchten.
  • INSTANCE_ID: die Kennung 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