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 son obsoletos.

Para actualizar tu código, sigue estos pasos:

  1. Crea instancias de los clientes de la versión 2, BigtableTableAdminClientV2 y BigtableInstanceAdminClientV2, con el método de fábrica estático create().
  2. Reemplaza los objetos de solicitud 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.
  3. Asegúrate de que los nuevos objetos de solicitud de búfer de protocolo estándar usen nombres de recursos completamente calificados.
  4. Llama a los métodos estándar de búfer de protocolo directamente en tus nuevos clientes de la versión 2.
  5. Reemplaza las variables de marcador de posición en tu código por identificadores, 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
    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);
    }
    

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el identificador de tu proyecto de Bigtable.
    • INSTANCE_ID: Es el identificador de tu instancia de Bigtable.
    • TABLE_ID: Es 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: Úsalos para aplicaciones independientes en las que controlas tus dependencias.
      • bigtable-hbase-1.x-hadoop o bigtable-hbase-2.x-hadoop: Se usan en entornos de Hadoop.
      • bigtable-hbase-1.x-shaded o bigtable-hbase-2.x-shaded: Se usa en entornos que no son de Hadoop y que requieren 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: Es el identificador de tu proyecto.
    • ZONE_ID: Es la zona en la que reside el clúster.
    • CLUSTER_ID: Es el identificador de tu clúster.
    • INSTANCE_ID: Es 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 consola deGoogle Cloud .

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: Es el identificador de tu proyecto.
  • ZONE: Es la zona en la que reside el clúster.
  • CLUSTER_ID: Es el identificador del clúster al que deseas conectarte.
  • INSTANCE_ID: Es 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?