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, procédez comme suit :
- Instanciez les clients V2,
BigtableTableAdminClientV2etBigtableInstanceAdminClientV2, à l'aide de la méthode statique par défautcreate(). - Remplacez les objets de requête d'encapsuleur personnalisé, tels que
com.google.cloud.bigtable.admin.v2.models.CreateTableRequest, par des objets de requête de tampon de protocole standard, tels quecom.google.bigtable.admin.v2.CreateTableRequest. - Assurez-vous que les nouveaux objets de requête de tampon de protocole standard utilisent des noms de ressources complets.
- Appelez les méthodes de tampon de protocole standard directement sur vos nouveaux clients V2.
Remplacez les variables d'espace réservé dans votre code par des identifiants, comme indiqué dans l'exemple suivant :
// 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); }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 asynchrone HBase que les versions1.xn'ont 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 plus anciennes 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 projet.ZONE_ID: zone dans laquelle se trouve votre cluster.CLUSTER_ID: identifiant de votre cluster.INSTANCE_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 consoleGoogle Cloud .
Pour télécharger la bibliothèque cliente, accédez au dépôt de code source sur GitHub.
Mettez à jour votre code comme indiqué dans l'exemple suivant :
// 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 projet.ZONE: zone dans laquelle se trouve votre cluster.CLUSTER_ID: identifiant du cluster auquel vous souhaitez vous connecter.INSTANCE_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.