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-ProjektsINSTANCE_ID: die ID Ihrer Bigtable-InstanzTABLE_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:
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 Versionen
2.xenthalten einen asynchronen HBase-Client, der in den Versionen1.xnicht vorhanden ist.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 Umgebungen außer 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 ID Ihres ProjektsZONE_ID: die Zone, in der sich Ihr Cluster befindetCLUSTER_ID: die ID Ihres ClustersINSTANCE_ID: die ID Ihrer Instanz
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 ProjektsZONE: die Zone, in der sich Ihr Cluster befindetCLUSTER_ID: die ID des Clusters, mit dem Sie eine Verbindung herstellen möchtenINSTANCE_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
- Weitere Informationen zu Clientbibliotheken.
- Weitere Informationen zur Einbindung von Bigtable in andere Tools und Google Cloud Dienste