Como atualizar bibliotecas de cliente
Esta página explica como atualizar uma biblioteca de cliente do Cloud Bigtable instalada anteriormente. Caso precise instalar uma pela primeira vez, siga as instruções da linguagem de programação que preferir nas Bibliotecas de cliente do Cloud Bigtable.
Cliente Bigtable para Java
Os métodos de conveniência em BigtableTableAdminClient e BigtableInstanceAdminClient estão obsoletos.
Para atualizar o código, siga estas etapas:
- Instancie os clientes V2,
BigtableTableAdminClientV2eBigtableInstanceAdminClientV2, usando o método de fábrica estáticocreate(). - Substitua os objetos de solicitação de wrapper personalizados, como
com.google.cloud.bigtable.admin.v2.models.CreateTableRequest, por objetos de solicitação de buffer de protocolo padrão, comocom.google.bigtable.admin.v2.CreateTableRequest. - Verifique se os novos objetos de solicitação de buffer de protocolo padrão usam nomes de recursos totalmente qualificados.
- Chame os métodos de buffer de protocolo padrão diretamente nos novos clientes V2.
Substitua as variáveis de marcador no código por identificadores, conforme mostrado no exemplo a seguir:
// 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); }Substitua:
PROJECT_ID: o identificador do seu projeto do BigtableINSTANCE_ID: o identificador da sua instância do BigtableTABLE_ID: o identificador da sua nova tabela
Cliente HBase para Java
Se estiver fazendo upgrade da versão 1.0 ou posterior do cliente HBase para Java, será necessário apenas atualizar o número da versão na configuração. Não é preciso atualizar o código.
Se estiver fazendo upgrade de clientes HBase anteriores à 1.0, conclua as etapas a seguir:
Atualize as dependências para usar a biblioteca de cliente mais recente e remova os artefatos desnecessários:
Remova os artefatos
bigtable-hbase-1.0,bigtable-hbase-1.1ebigtable-hbase-1.2das dependências, se estiverem presentes.Remova
netty-tcnative-boringssl-staticdas dependências, a não ser que ele seja exigido por outra parte do aplicativo.Adicione um dos artefatos a seguir às dependências, dependendo do seu caso de uso. As versões
2.xincluem um cliente assíncrono do HBase que as versões1.xnão têm.bigtable-hbase-1.xoubigtable-hbase-2.x: use para aplicativos independentes em que você controla as dependências.bigtable-hbase-1.x-hadoopoubigtable-hbase-2.x-hadoop: use em ambientes do Hadoop.bigtable-hbase-1.x-shadedoubigtable-hbase-2.x-shaded: use em ambientes que não sejam do Hadoop e que exijam versões anteriores de componentes, como protobuf ou Guava.
Atualize as configurações para se conectar ao Cloud Bigtable.
Se as configurações no seu código ou em um arquivo
hbase-site.xmlincluírem um valor parahbase.client.connection.impl, mude esse valor paracom.google.cloud.bigtable.hbase1_x.BigtableConnection.Se você usa a classe
BigtableConnectiondiretamente, atualize seu código para passar a usarcom.google.cloud.bigtable.hbase1_x.BigtableConnection.Se você usar um arquivo
hbase-site.xmlpara se conectar ao Bigtable:- Adicione a propriedade
google.bigtable.instance.idcaso ela não esteja presente. Defina o valor da propriedade para o ID da instância. - Remova a propriedade
google.bigtable.cluster.name, se ela estiver presente. - Remova a propriedade
google.bigtable.zone.name, se ela estiver presente.
- Adicione a propriedade
Se você se conectar ao Bigtable chamando
BigtableConfiguration.connect(), atualize o código conforme mostrado no exemplo a seguir:
// Existing code BigtableConfiguration.connect(PROJECT_ID, ZONE_ID, CLUSTER_ID); // New code BigtableConfiguration.connect(PROJECT_ID, INSTANCE_ID);Substitua:
PROJECT_ID: o identificador do seu projeto.ZONE_ID: a zona em que o cluster reside.CLUSTER_ID: o identificador do cluster.INSTANCE_ID: o identificador da instância.
Reimplante o aplicativo em todos os ambientes, incluindo desenvolvimento local, teste, preparação e produção.
Para ver uma lista de versões para o cliente HBase para Java, consulte o histórico de versões no GitHub.
Go
Em junho de 2016, o cliente Go mudou a maneira de se conectar ao Cloud Bigtable. Em vez de especificar um ID de cluster e uma zona, especifique o ID da instância. Para encontrar esse ID, acesse o console Google Cloud .
Para fazer o download da biblioteca de cliente, acesse o repositório de código no GitHub.
Atualize o código conforme mostrado no exemplo a seguir:
// 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)
Substitua:
PROJECT_ID: o identificador do seu projeto.ZONE: a zona em que o cluster reside.CLUSTER_ID: o identificador do cluster a que você quer se conectar.INSTANCE_ID: o identificador da instância a que você quer se conectar.
Para ver uma lista de versões para a biblioteca de cliente Go, consulte o histórico de versões no GitHub.
A seguir
- Leia mais sobre as bibliotecas de cliente.
- Saiba mais sobre como o Bigtable se integra a outras ferramentas e Google Cloud serviços.