Mise à niveau des bibliothèques clientes
La mise à niveau de vos bibliothèques clientes Cloud Bigtable pour Java, HBase pour Java et Go vous permet de migrer depuis les méthodes obsolètes et d'adopter les modèles actuels de connexion et de tampon de protocole. Si vous devez installer une bibliothèque cliente pour la première fois, suivez les instructions pour le langage de programmation de votre choix sur la page Bibliothèques clientes 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 de fabrique statiquecreate(). - 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 standard de tampon de protocole 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 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 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 consoleCloud de Confiance .
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 comment Bigtable s'intègre à d'autres outils et services Cloud de Confiance .