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:
- Crea instancias de los clientes de la versión 2,
BigtableTableAdminClientV2yBigtableInstanceAdminClientV2, con el método de fábrica estáticocreate(). - 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, comocom.google.bigtable.admin.v2.CreateTableRequest. - Asegúrate de que los nuevos objetos de solicitud de búfer de protocolo estándar usen nombres de recursos completamente calificados.
- Llama a los métodos estándar de búfer de protocolo directamente en tus nuevos clientes de la versión 2.
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:
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.1ybigtable-hbase-1.2de tus dependencias si están presentes.Quita
netty-tcnative-boringssl-staticde 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.xincluyen un cliente asíncrono de HBase que no tienen las versiones1.x.bigtable-hbase-1.xobigtable-hbase-2.x: Úsalos para aplicaciones independientes en las que controlas tus dependencias.bigtable-hbase-1.x-hadoopobigtable-hbase-2.x-hadoop: Se usan en entornos de Hadoop.bigtable-hbase-1.x-shadedobigtable-hbase-2.x-shaded: Se usa en entornos que no son de Hadoop y que requieren versiones anteriores de componentes como protobuf o Guava.
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.xmlincluyen un valor parahbase.client.connection.impl, cambia el valor acom.google.cloud.bigtable.hbase1_x.BigtableConnection.Si usas la clase
BigtableConnectiondirectamente, actualiza tu código para usarcom.google.cloud.bigtable.hbase1_x.BigtableConnectionen su lugar.Si usas un archivo
hbase-site.xmlpara conectarte a Bigtable, haz lo siguiente:- Agrega la propiedad
google.bigtable.instance.idsi no está presente. Configura el valor de la propiedad con el ID de tu instancia. - Quita la propiedad
google.bigtable.cluster.namesi está presente. - Quita la propiedad
google.bigtable.zone.namesi está presente.
- Agrega la propiedad
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.
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?
- Obtén más información sobre las bibliotecas cliente.
- Obtén más información sobre cómo Bigtable se integra en otras herramientas y Google Cloud servicios.