Mettre à jour les bibliothèques clientes
Cette page explique comment mettre à niveau une bibliothèque cliente Cloud Bigtable précédemment installée. Si vous devez installer une bibliothèque cliente pour la première fois, suivez les instructions relatives à votre langage de programmation privilégié à la page Bibliothèques clientes Cloud Bigtable.
Client Bigtable pour Java
Les méthodes pratiques dans BigtableTableAdminClient et BigtableInstanceAdminClient sont obsolètes.
Pour mettre à niveau votre code, appelez les méthodes de tampon de protocole standard à l'aide de getBaseClient(). Vous devez remplacer les objets wrapper personnalisés, tels que com.google.cloud.bigtable.admin.v2.models.CreateTableRequest, par des objets de requête de tampon de protocole standard, tels que com.google.bigtable.admin.v2.CreateTableRequest. Ces objets attendent des noms de ressources complets.
Mettez à jour votre code comme indiqué ci-dessous :
// 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);
Remplacez les éléments suivants :
PROJECT_ID: identifiant de votre projet BigtableINSTANCE_ID: identifiant de votre instance BigtableTABLE_ID: identifiant de votre nouvelle table
Client HBase pour Java
Si vous effectuez une mise à niveau à partir de la version 1.0 ou ultérieure du client HBase pour Java, la seule modification à apporter consiste à mettre à jour le numéro de version dans la configuration. Vous n'avez pas besoin de mettre à jour votre code.
Si vous mettez à niveau des clients HBase antérieurs à 1.0, procédez comme suit :
Mettez à jour vos dépendances pour utiliser la dernière bibliothèque cliente et supprimer les artefacts dont vous n'avez plus besoin :
S'ils sont présents, supprimez les artefacts
bigtable-hbase-1.0,bigtable-hbase-1.1etbigtable-hbase-1.2de vos dépendances.Supprimez
netty-tcnative-boringssl-staticde vos dépendances, sauf si une autre partie de votre application en a besoin.Ajoutez l'un des artefacts suivants à vos dépendances, en fonction de votre cas d'utilisation. Les versions
2.xincluent un client HBase asynchrone que les versions1.xne possèdent pas.bigtable-hbase-1.xoubigtable-hbase-2.x: à utiliser pour les applications autonomes à partir desquelles vous contrôlez les dépendances.bigtable-hbase-1.x-hadoopoubigtable-hbase-2.x-hadoop: à utiliser dans les environnements Hadoop.bigtable-hbase-1.x-shadedoubigtable-hbase-2.x-shaded: à utiliser dans des environnements autres que Hadoop nécessitant des versions antérieures de composants tels que protobuf ou Guava.
Mettez à jour vos paramètres de configuration pour vous connecter à Bigtable.
Si les paramètres de configuration de votre code ou d'un fichier
hbase-site.xmlincluent une valeur pourhbase.client.connection.impl, remplacez cette valeur parcom.google.cloud.bigtable.hbase1_x.BigtableConnection.Si vous utilisez directement la classe
BigtableConnection, mettez à jour votre code pour qu'il utilisecom.google.cloud.bigtable.hbase1_x.BigtableConnectionà la place.Si vous utilisez un fichier
hbase-site.xmlpour vous connecter à Bigtable :- Ajoutez la propriété
google.bigtable.instance.idsi elle n'est pas présente. Définissez la valeur de la propriété sur votre ID d'instance. - Supprimez la propriété
google.bigtable.cluster.namesi elle est présente. - Supprimez la propriété
google.bigtable.zone.namesi elle est présente.
- Ajoutez la propriété
Si vous vous connectez à Bigtable en appelant la méthode
BigtableConfiguration.connect(), vous devez mettre à jour votre code comme indiqué ci-dessous :
// Existing code BigtableConfiguration.connect(PROJECT_ID, ZONE_ID, CLUSTER_ID); // New code BigtableConfiguration.connect(PROJECT_ID, INSTANCE_ID);Remplacez les éléments suivants :
PROJECT_ID: identifiant de votre projetZONE_ID: zone dans laquelle réside votre clusterCLUSTER_ID: identifiant de votre clusterINSTANCE_ID: identifiant de votre instance
Redéployez votre application dans tous vos environnements, y compris ceux de développement, de test, de pré-production et de production.
Pour obtenir une liste des versions du client HBase pour Java, consultez l'historique des versions sur GitHub.
Go
En juin 2016, le client Go a changé la manière de se connecter à Bigtable. Au lieu de spécifier un ID de cluster et une zone, vous devez dorénavant spécifier un ID d'instance. Vous pouvez trouver l'ID d'instance en accédant à la Google Cloud console.
Pour télécharger la bibliothèque cliente, accédez au référentiel de code sur GitHub.
Mettez à jour votre code comme indiqué ci-dessous :
// 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)
Remplacez les éléments suivants :
PROJECT_ID: identifiant de votre projetZONE: zone dans laquelle réside votre clusterCLUSTER_ID: identifiant du cluster auquel vous souhaitez vous connecterINSTANCE_ID: identifiant de l'instance à laquelle vous souhaitez vous connecter
Pour obtenir une liste des versions de la bibliothèque cliente Go, consultez l' historique des versions sur GitHub.
Étape suivante
- Apprenez-en davantage sur les bibliothèques clientes.
- Découvrez-en plus sur l'intégration de Bigtable avec d'autres outils et Google Cloud services.