Upgrade delle librerie client in corso…

Questa pagina spiega come eseguire l'upgrade di una libreria client Cloud Bigtable installata in precedenza. Se devi installare una libreria client per la prima volta, segui le istruzioni per il tuo linguaggio di programmazione preferito in Librerie client Cloud Bigtable.

Client Bigtable per Java

I metodi pratici in BigtableTableAdminClient e BigtableInstanceAdminClient sono obsoleti.

Per eseguire l'upgrade del codice:

  1. Crea un'istanza dei client V2, BigtableTableAdminClientV2 e BigtableInstanceAdminClientV2, utilizzando il metodo statico di fabbrica create().
  2. Sostituisci gli oggetti richiesta wrapper personalizzati, ad esempio com.google.cloud.bigtable.admin.v2.models.CreateTableRequest, con oggetti richiesta protocol buffer standard, ad esempio com.google.bigtable.admin.v2.CreateTableRequest.
  3. Assicurati che i nuovi oggetti richiesta del buffer del protocollo standard utilizzino nomi di risorse completamente qualificati.
  4. Chiama direttamente i metodi standard del buffer di protocollo sui nuovi client V2.
  5. Sostituisci le variabili segnaposto nel codice con gli identificatori, come mostrato nell'esempio seguente:

    // 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);
    }
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'identificatore del tuo progetto Bigtable
    • INSTANCE_ID: l'identificatore dell'istanza Bigtable
    • TABLE_ID: l'identificatore della nuova tabella

Client HBase per Java

Se esegui l'upgrade dalla versione 1.0 o successive del client HBase per Java, l'unica modifica da apportare è l'aggiornamento del numero di versione nella configurazione. Non è necessario aggiornare il codice.

Se esegui l'upgrade da client HBase pre-1.0, completa i seguenti passaggi:

  1. Aggiorna le dipendenze per utilizzare la libreria client più recente e rimuovere gli artefatti che non ti servono più:

    • Rimuovi gli artefatti bigtable-hbase-1.0, bigtable-hbase-1.1 e bigtable-hbase-1.2 dalle dipendenze, se presenti.

    • Rimuovi netty-tcnative-boringssl-static dalle dipendenze a meno che non sia richiesto da un'altra parte dell'applicazione.

    • Aggiungi uno dei seguenti artefatti alle dipendenze, a seconda del tuo caso d'uso. Le versioni 2.x includono un client asincrono HBase che le versioni 1.x non hanno.

      • bigtable-hbase-1.x o bigtable-hbase-2.x: utilizza per applicazioni autonome in cui hai il controllo delle dipendenze.
      • bigtable-hbase-1.x-hadoop o bigtable-hbase-2.x-hadoop: utilizza in ambienti Hadoop.
      • bigtable-hbase-1.x-shaded o bigtable-hbase-2.x-shaded: utilizza in ambienti diversi da Hadoop che richiedono versioni precedenti di componenti come protobuf o Guava.
  2. Aggiorna le impostazioni di configurazione per la connessione a Bigtable.

    • Se le impostazioni di configurazione nel codice o in un file hbase-site.xml includono un valore per hbase.client.connection.impl, modifica il valore in com.google.cloud.bigtable.hbase1_x.BigtableConnection.

    • Se utilizzi direttamente la classe BigtableConnection, aggiorna il codice in modo che utilizzi com.google.cloud.bigtable.hbase1_x.BigtableConnection.

    • Se utilizzi un file hbase-site.xml per connetterti a Bigtable:

      • Aggiungi la proprietà google.bigtable.instance.id se non è presente. Imposta il valore della proprietà sull'ID istanza.
      • Rimuovi la proprietà google.bigtable.cluster.name se è presente.
      • Rimuovi la proprietà google.bigtable.zone.name, se presente.
    • Se ti connetti a Bigtable chiamando BigtableConfiguration.connect(), aggiorna il codice come mostrato nell'esempio seguente:

    // Existing code
    BigtableConfiguration.connect(PROJECT_ID, ZONE_ID, CLUSTER_ID);
    
    // New code
    BigtableConfiguration.connect(PROJECT_ID, INSTANCE_ID);
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'identificatore del progetto.
    • ZONE_ID: la zona in cui si trova il cluster.
    • CLUSTER_ID: l'identificatore del cluster.
    • INSTANCE_ID: l'identificatore dell'istanza.
  3. Esegui nuovamente il deployment dell'applicazione in tutti gli ambienti, inclusi sviluppo locale, test, gestione temporanea e produzione.

Per un elenco delle release del client HBase per Java, consulta la cronologia delle release su GitHub.

Go

Nel giugno 2016, il client Go ha modificato il modo di connettersi a Bigtable. Anziché specificare un ID cluster e una zona, specifica un ID istanza. Puoi trovare l'ID istanza visitando la console Google Cloud .

Per scaricare la libreria client, visita il repository di codice su GitHub.

Aggiorna il codice come mostrato nell'esempio seguente:

  // 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)

Sostituisci quanto segue:

  • PROJECT_ID: l'identificatore del progetto.
  • ZONE: la zona in cui si trova il cluster.
  • CLUSTER_ID: l'identificatore del cluster a cui vuoi connetterti.
  • INSTANCE_ID: l'identificatore dell'istanza a cui vuoi connetterti.

Per un elenco delle release della libreria client Go, consulta la cronologia delle release su GitHub.

Passaggi successivi