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 :

  1. Instanciez les clients V2, BigtableTableAdminClientV2 et BigtableInstanceAdminClientV2, à l'aide de la méthode statique par défaut create().
  2. 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 que com.google.bigtable.admin.v2.CreateTableRequest.
  3. Assurez-vous que les nouveaux objets de requête de tampon de protocole standard utilisent des noms de ressources complets.
  4. Appelez les méthodes de tampon de protocole standard directement sur vos nouveaux clients V2.
  5. 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 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 asynchrone HBase que les versions 1.x n'ont 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 plus anciennes 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 se trouve 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 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