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 Hilfsmethoden in BigtableTableAdminClient und BigtableInstanceAdminClient sind veraltet.

Rufen Sie zum Aktualisieren Ihres Codes die Standardmethoden für Protokollpuffer mit getBaseClient() auf. Dazu müssen Sie benutzerdefinierte Wrapper-Objekte wie com.google.cloud.bigtable.admin.v2.models.CreateTableRequest durch Standardobjekte für Protokollpufferanfragen wie com.google.bigtable.admin.v2.CreateTableRequest ersetzen. Diese Objekte erfordern vollständig qualifizierte Ressourcennamen.

Aktualisieren Sie Ihren Code wie im folgenden Beispiel dargestellt:

  // Existing code
  BigtableTableAdminClient adminClient = BigtableTableAdminClient.create(PROJECT_ID, INSTANCE_ID);
  adminClient.createTable(
      CreateTableRequest.of(TABLE_ID)
          .addFamily("cf1"));

  // New code
  BigtableTableAdminClient adminClient = BigtableTableAdminClient.create(PROJECT_ID, INSTANCE_ID);
  String parent = "projects/" + PROJECT_ID + "/instances/" + INSTANCE_ID;
  com.google.bigtable.admin.v2.CreateTableRequest request =
      com.google.bigtable.admin.v2.CreateTableRequest.newBuilder()
          .setParent(parent)
          .setTableId(TABLE_ID)
          .setTable(com.google.bigtable.admin.v2.Table.newBuilder()
              .putColumnFamilies("cf1", com.google.bigtable.admin.v2.ColumnFamily.getDefaultInstance())
              .build())
          .build();
  adminClient.getBaseClient().createTable(request);

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID Ihres Bigtable-Projekts
  • INSTANCE_ID: die ID Ihrer Bigtable-Instanz
  • TABLE_ID: die ID Ihrer neuen 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 Versionen 2.x enthalten einen asynchronen HBase-Client, der in den Versionen 1.x nicht vorhanden ist.

      • 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, mit dem Sie eine Verbindung herstellen möchten
  • INSTANCE_ID: die ID der Instanz, mit der Sie eine Verbindung herstellen möchten

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

Nächste Schritte