Como atualizar bibliotecas de cliente

Nesta página, você verá 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 fazer upgrade do código, chame os métodos padrão do buffer de protocolo usando getBaseClient(). Isso exige a substituição de objetos wrapper personalizados, como com.google.cloud.bigtable.admin.v2.models.CreateTableRequest, por objetos de solicitação de buffer de protocolo padrão, como com.google.bigtable.admin.v2.CreateTableRequest. Esses objetos esperam nomes de recursos totalmente qualificados.

Atualize o código 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
  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);

Substitua:

  • PROJECT_ID: o identificador do seu projeto do Bigtable
  • INSTANCE_ID: o identificador da sua instância do Bigtable
  • TABLE_ID: o identificador da 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:

  1. 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.1 e bigtable-hbase-1.2 das dependências, se estiverem presentes.

    • Remova netty-tcnative-boringssl-static das 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.x incluem um cliente assíncrono HBase que não está disponível nas versões 1.x.

      • bigtable-hbase-1.x ou bigtable-hbase-2.x: use para aplicativos independentes em que você controla as dependências.
      • bigtable-hbase-1.x-hadoop ou bigtable-hbase-2.x-hadoop: use em ambientes do Hadoop.
      • bigtable-hbase-1.x-shaded ou bigtable-hbase-2.x-shaded: use em ambientes que não sejam o Hadoop que exigem versões mais antigas de componentes, como protobuf ou Guava.
  2. Atualize as configurações para se conectar ao Cloud Bigtable.

    • Se as configurações no seu código ou em um arquivo hbase-site.xml incluírem um valor para hbase.client.connection.impl, mude esse valor para com.google.cloud.bigtable.hbase1_x.BigtableConnection.

    • Se você usa a classe BigtableConnection diretamente, atualize seu código para passar a usar com.google.cloud.bigtable.hbase1_x.BigtableConnection.

    • Se você usar um arquivo hbase-site.xml para se conectar ao Bigtable:

      • Adicione a propriedade google.bigtable.instance.id caso 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.
    • 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 projeto.
    • ZONE_ID: a zona em que o cluster está localizado.
    • CLUSTER_ID: o identificador do cluster.
    • INSTANCE_ID: o identificador da sua instância.
  3. 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 o ID da instância, acesse oGoogle Cloud console.

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 projeto.
  • ZONE: a zona em que o cluster está localizado.
  • 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