Actualiza las bibliotecas cliente

En esta página, se explica cómo actualizar una biblioteca cliente de Cloud Bigtable instalada previamente. Si necesitas instalar una biblioteca cliente por primera vez, sigue las instrucciones correspondientes al lenguaje de programación que prefieras en Bibliotecas cliente de Cloud Bigtable.

Cliente de Bigtable para Java

Los métodos de conveniencia en BigtableTableAdminClient y BigtableInstanceAdminClient están obsoletos.

Para actualizar tu código, llama a los métodos estándar de búfer de protocolo con getBaseClient(). Esto requiere reemplazar los objetos de wrapper personalizados, como com.google.cloud.bigtable.admin.v2.models.CreateTableRequest, por objetos de solicitud de búfer de protocolo estándar, como com.google.bigtable.admin.v2.CreateTableRequest. Estos objetos esperan nombres de recursos completamente calificados.

Actualiza tu código como se muestra en el siguiente ejemplo:

  // 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);

Reemplaza lo siguiente:

  • PROJECT_ID: el identificador de tu proyecto de Bigtable
  • INSTANCE_ID: el identificador de tu instancia de Bigtable
  • TABLE_ID: el identificador de tu tabla nueva

Cliente de HBase para Java

Si actualizas desde la versión1.0 o posterior del cliente HBase para Java, el único cambio que debes hacer es actualizar el número de versión en la configuración. No debes actualizar el código.

Si actualizas desde una versión del cliente de HBase anterior a la 1.0, sigue estos pasos:

  1. Actualiza tus dependencias para usar la biblioteca cliente más reciente y quitar los artefactos que ya no necesitas:

    • Quita los artefactos bigtable-hbase-1.0, bigtable-hbase-1.1 y bigtable-hbase-1.2 de tus dependencias si están presentes.

    • Quita netty-tcnative-boringssl-static de tus dependencias, a menos que otra parte de tu aplicación lo requiera.

    • Agrega uno de los siguientes artefactos a tus dependencias, según tu caso de uso. Las versiones 2.x incluyen un cliente asíncrono de HBase que no tienen las versiones 1.x.

      • bigtable-hbase-1.x o bigtable-hbase-2.x: Usa para aplicaciones independientes en las que controlas tus dependencias.
      • bigtable-hbase-1.x-hadoop o bigtable-hbase-2.x-hadoop: Usa en entornos de Hadoop.
      • bigtable-hbase-1.x-shaded o bigtable-hbase-2.x-shaded: Usa en entornos que no sean de Hadoop y que requieran versiones anteriores de componentes como protobuf o Guava.
  2. Actualiza tu configuración para conectarte con Bigtable.

    • Si los parámetros de configuración en tu código o en un archivo hbase-site.xml incluyen un valor para hbase.client.connection.impl, cambia el valor a com.google.cloud.bigtable.hbase1_x.BigtableConnection.

    • Si usas la clase BigtableConnection directamente, actualiza tu código para usar com.google.cloud.bigtable.hbase1_x.BigtableConnection en su lugar.

    • Si usas un archivo hbase-site.xml para conectarte a Bigtable, haz lo siguiente:

      • Agrega la propiedad google.bigtable.instance.id si no está presente. Configura el valor de la propiedad con el ID de tu instancia.
      • Quita la propiedad google.bigtable.cluster.name si está presente.
      • Quita la propiedad google.bigtable.zone.name si está presente.
    • Si te conectas a Bigtable mediante una llamada a BigtableConfiguration.connect(), actualiza tu código como se muestra en el siguiente ejemplo:

    // Existing code
    BigtableConfiguration.connect(PROJECT_ID, ZONE_ID, CLUSTER_ID);
    
    // New code
    BigtableConfiguration.connect(PROJECT_ID, INSTANCE_ID);
    

    Reemplaza lo siguiente:

    • PROJECT_ID: el identificador de tu proyecto
    • ZONE_ID: la zona en la que reside tu clúster
    • CLUSTER_ID: el identificador de tu clúster
    • INSTANCE_ID: el identificador de tu instancia
  3. Vuelve a implementar la aplicación en todos los entornos, incluido el de desarrollo local, de pruebas, de etapas y de producción.

Para ver una lista de las actualizaciones del cliente de HBase para Java, consulta el historial de actualizaciones en GitHub.

Comienza a usarlo

En junio de 2016, el cliente Go cambió su forma de conectarse con Bigtable. En lugar de especificar un ID de clúster y una zona, especifica un ID de la instancia. Para encontrar el ID de la instancia, visita la Google Cloud consola.

Si deseas descargar la biblioteca cliente, visita el repositorio del código en GitHub.

Actualiza tu código como se muestra en el siguiente ejemplo:

  // 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)

Reemplaza lo siguiente:

  • PROJECT_ID: el identificador de tu proyecto
  • ZONE: la zona en la que reside tu clúster
  • CLUSTER_ID: el identificador del clúster al que deseas conectarte
  • INSTANCE_ID: el identificador de la instancia a la que deseas conectarte

Para ver una lista de las actualizaciones de la biblioteca cliente de Go, consulta el historial de actualizaciones en GitHub.

¿Qué sigue?