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:
- Crea un'istanza dei client V2,
BigtableTableAdminClientV2eBigtableInstanceAdminClientV2, utilizzando il metodo statico di fabbricacreate(). - Sostituisci gli oggetti richiesta wrapper personalizzati, ad esempio
com.google.cloud.bigtable.admin.v2.models.CreateTableRequest, con oggetti richiesta protocol buffer standard, ad esempiocom.google.bigtable.admin.v2.CreateTableRequest. - Assicurati che i nuovi oggetti richiesta del buffer del protocollo standard utilizzino nomi di risorse completamente qualificati.
- Chiama direttamente i metodi standard del buffer di protocollo sui nuovi client V2.
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 BigtableINSTANCE_ID: l'identificatore dell'istanza BigtableTABLE_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:
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.1ebigtable-hbase-1.2dalle dipendenze, se presenti.Rimuovi
netty-tcnative-boringssl-staticdalle 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.xincludono un client asincrono HBase che le versioni1.xnon hanno.bigtable-hbase-1.xobigtable-hbase-2.x: utilizza per applicazioni autonome in cui hai il controllo delle dipendenze.bigtable-hbase-1.x-hadoopobigtable-hbase-2.x-hadoop: utilizza in ambienti Hadoop.bigtable-hbase-1.x-shadedobigtable-hbase-2.x-shaded: utilizza in ambienti diversi da Hadoop che richiedono versioni precedenti di componenti come protobuf o Guava.
Aggiorna le impostazioni di configurazione per la connessione a Bigtable.
Se le impostazioni di configurazione nel codice o in un file
hbase-site.xmlincludono un valore perhbase.client.connection.impl, modifica il valore incom.google.cloud.bigtable.hbase1_x.BigtableConnection.Se utilizzi direttamente la classe
BigtableConnection, aggiorna il codice in modo che utilizzicom.google.cloud.bigtable.hbase1_x.BigtableConnection.Se utilizzi un file
hbase-site.xmlper connetterti a Bigtable:- Aggiungi la proprietà
google.bigtable.instance.idse non è presente. Imposta il valore della proprietà sull'ID istanza. - Rimuovi la proprietà
google.bigtable.cluster.namese è presente. - Rimuovi la proprietà
google.bigtable.zone.name, se presente.
- Aggiungi la proprietà
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.
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
- Scopri di più sulle librerie client.
- Scopri di più su come Bigtable si integra con altri strumenti e Google Cloud servizi.