Upgrade delle librerie client in corso…

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

Client Bigtable per Java

I metodi di convenienza in BigtableTableAdminClient e BigtableInstanceAdminClient sono obsoleti.

Per eseguire l'upgrade del codice, chiama i metodi standard del buffer di protocollo utilizzando getBaseClient(). Ciò richiede la sostituzione degli oggetti wrapper personalizzati, come com.google.cloud.bigtable.admin.v2.models.CreateTableRequest, con oggetti di richiesta del buffer di protocollo standard, come com.google.bigtable.admin.v2.CreateTableRequest. Questi oggetti prevedono nomi di risorse completi.

Aggiorna il codice 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
  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);

Sostituisci quanto segue:

  • PROJECT_ID: l'identificatore del 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 che devi apportare è aggiornare il numero di versione nella configurazione. Non devi 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 di cui non hai più bisogno:

    • 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 un'altra parte dell'applicazione non lo richieda.

    • Aggiungi uno dei seguenti artefatti alle dipendenze, a seconda del 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: da utilizzare per applicazioni autonome in cui hai il controllo delle dipendenze.
      • bigtable-hbase-1.x-hadoop o bigtable-hbase-2.x-hadoop: da utilizzare negli ambienti Hadoop.
      • bigtable-hbase-1.x-shaded o bigtable-hbase-2.x-shaded: da utilizzare 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 da utilizzare com.google.cloud.bigtable.hbase1_x.BigtableConnection invece.

    • 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 di nuovo 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.

Vai

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

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