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-ProjektsINSTANCE_ID: die ID Ihrer Bigtable-InstanzTABLE_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:
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.1undbigtable-hbase-1.2aus den Abhängigkeiten.Entfernen Sie
netty-tcnative-boringssl-staticaus 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 die1.x-Versionen nicht haben.bigtable-hbase-1.xoderbigtable-hbase-2.x: Wird für eigenständige Anwendungen verwendet, in denen Sie die Kontrolle über Ihre Abhängigkeiten haben.bigtable-hbase-1.x-hadoopoderbigtable-hbase-2.x-hadoop: Verwendung in Hadoop-Umgebungen.bigtable-hbase-1.x-shadedoderbigtable-hbase-2.x-shaded: Verwendung in anderen Umgebungen als Hadoop, für die ältere Versionen von Komponenten wie protobuf oder Guava erforderlich sind.
Aktualisieren Sie Ihre Konfigurationseinstellungen zur Verbindungsherstellung mit Bigtable.
Wenn die Konfigurationseinstellungen in Ihrem Code oder in einer
hbase-site.xml-Datei einen Wert fürhbase.client.connection.implenthalten, müssen Sie den Wert incom.google.cloud.bigtable.hbase1_x.BigtableConnectionändern.Wenn Sie die Klasse
BigtableConnectiondirekt verwenden, aktualisieren Sie den Code, sodass stattdessencom.google.cloud.bigtable.hbase1_x.BigtableConnectionverwendet wird.Wenn Sie eine
hbase-site.xml-Datei verwenden, um eine Verbindung zu Bigtable herzustellen:- Fügen Sie das Attribut
google.bigtable.instance.idhinzu, 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.
- Fügen Sie das Attribut
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.
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
- Weitere Informationen zu Clientbibliotheken
- Weitere Informationen zur Einbindung von Bigtable in andere Tools und Dienste Google Cloud