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 Bigtable
  • INSTANCE_ID : identifiant de votre instance Bigtable
  • TABLE_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 :

  1. 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.1 et bigtable-hbase-1.2 de vos dépendances.

    • Supprimez netty-tcnative-boringssl-static de 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.x incluent un client HBase asynchrone que les versions 1.x ne possèdent pas.

      • bigtable-hbase-1.x ou bigtable-hbase-2.x : à utiliser pour les applications autonomes à partir desquelles vous contrôlez les dépendances.
      • bigtable-hbase-1.x-hadoop ou bigtable-hbase-2.x-hadoop : à utiliser dans les environnements Hadoop.
      • bigtable-hbase-1.x-shaded ou bigtable-hbase-2.x-shaded : à utiliser dans des environnements autres que Hadoop nécessitant des versions antérieures de composants tels que protobuf ou Guava.
  2. 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.xml incluent une valeur pour hbase.client.connection.impl, remplacez cette valeur par com.google.cloud.bigtable.hbase1_x.BigtableConnection.

    • Si vous utilisez directement la classe BigtableConnection, mettez à jour votre code pour qu'il utilise com.google.cloud.bigtable.hbase1_x.BigtableConnection à la place.

    • Si vous utilisez un fichier hbase-site.xml pour vous connecter à Bigtable :

      • Ajoutez la propriété google.bigtable.instance.id si 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.name si elle est présente.
      • Supprimez la propriété google.bigtable.zone.name si elle est présente.
    • 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 réside votre cluster
    • CLUSTER_ID : identifiant de votre cluster
    • INSTANCE_ID : identifiant de votre instance
  3. 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 projet
  • ZONE : zone dans laquelle réside 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