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:

  1. Instancie os clientes V2, BigtableTableAdminClientV2 e BigtableInstanceAdminClientV2, usando o método de fábrica estático create().
  2. 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, como com.google.bigtable.admin.v2.CreateTableRequest.
  3. Verifique se os novos objetos de solicitação de buffer de protocolo padrão usam nomes de recursos totalmente qualificados.
  4. Chame os métodos de buffer de protocolo padrão diretamente nos novos clientes V2.
  5. 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 Bigtable
    • INSTANCE_ID: o identificador da sua instância do Bigtable
    • TABLE_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:

  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 do HBase que as versões 1.x não têm.

      • 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 do Hadoop e que exijam versões anteriores 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 seu projeto.
    • ZONE_ID: a zona em que o cluster reside.
    • CLUSTER_ID: o identificador do cluster.
    • INSTANCE_ID: o identificador da 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 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