Mengupgrade library klien

Halaman ini menjelaskan cara mengupgrade library klien Cloud Bigtable yang sebelumnya telah diinstal. Jika Anda perlu menginstal library klien untuk pertama kalinya, ikuti petunjuk untuk bahasa pemrograman pilihan Anda di Library Klien Cloud Bigtable.

Klien Bigtable untuk Java

Metode praktis di BigtableTableAdminClient dan BigtableInstanceAdminClient sudah tidak digunakan lagi.

Untuk mengupgrade kode Anda, ikuti langkah-langkah berikut:

  1. Buat instance klien V2, BigtableTableAdminClientV2 dan BigtableInstanceAdminClientV2, menggunakan metode factory create() statis.
  2. Ganti objek permintaan wrapper kustom, seperti com.google.cloud.bigtable.admin.v2.models.CreateTableRequest, dengan objek permintaan buffer protokol standar, seperti com.google.bigtable.admin.v2.CreateTableRequest.
  3. Pastikan objek permintaan buffer protokol standar baru menggunakan nama resource yang sepenuhnya memenuhi syarat.
  4. Panggil metode buffer protokol standar langsung di klien V2 baru Anda.
  5. Ganti variabel placeholder dalam kode Anda dengan ID, seperti yang ditunjukkan dalam contoh berikut:

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

    Ganti kode berikut:

    • PROJECT_ID: ID project Bigtable Anda
    • INSTANCE_ID: ID instance Bigtable Anda
    • TABLE_ID: ID untuk tabel baru Anda

Klien HBase untuk Java

Jika Anda mengupgrade dari klien HBase untuk Java versi 1.0 atau yang lebih baru, satu-satunya perubahan yang perlu Anda lakukan adalah memperbarui nomor versi dalam konfigurasi. Anda tidak perlu memperbarui kode Anda.

Jika Anda mengupgrade dari klien HBase sebelum versi 1.0, selesaikan langkah-langkah berikut:

  1. Perbarui dependensi Anda untuk menggunakan library klien terbaru dan menghapus artefak yang tidak lagi Anda perlukan:

    • Hapus artefak bigtable-hbase-1.0, bigtable-hbase-1.1, dan bigtable-hbase-1.2 dari dependensi Anda jika ada.

    • Hapus netty-tcnative-boringssl-static dari dependensi Anda kecuali jika bagian lain dari aplikasi Anda memerlukannya.

    • Tambahkan salah satu artefak berikut ke dependensi Anda, bergantung pada kasus penggunaan Anda. Versi 2.x mencakup klien asinkron HBase yang tidak dimiliki versi 1.x.

      • bigtable-hbase-1.x atau bigtable-hbase-2.x: Gunakan untuk aplikasi mandiri tempat Anda mengontrol dependensi Anda.
      • bigtable-hbase-1.x-hadoop atau bigtable-hbase-2.x-hadoop: Gunakan di lingkungan Hadoop.
      • bigtable-hbase-1.x-shaded atau bigtable-hbase-2.x-shaded: Gunakan di lingkungan selain Hadoop yang memerlukan versi komponen sebelumnya seperti protobuf atau Guava.
  2. Perbarui setelan konfigurasi Anda untuk terhubung ke Bigtable.

    • Jika setelan konfigurasi dalam kode Anda atau dalam file hbase-site.xml menyertakan nilai untuk hbase.client.connection.impl, ubah nilai tersebut menjadi com.google.cloud.bigtable.hbase1_x.BigtableConnection.

    • Jika Anda menggunakan class BigtableConnection secara langsung, perbarui kode Anda untuk menggunakan com.google.cloud.bigtable.hbase1_x.BigtableConnection sebagai gantinya.

    • Jika Anda menggunakan file hbase-site.xml untuk terhubung ke Bigtable:

      • Tambahkan properti google.bigtable.instance.id jika tidak ada. Tetapkan nilai properti ke ID instance Anda.
      • Hapus properti google.bigtable.cluster.name jika ada.
      • Hapus properti google.bigtable.zone.name jika ada.
    • Jika Anda terhubung ke Bigtable dengan memanggil BigtableConfiguration.connect(), perbarui kode Anda seperti yang ditunjukkan dalam contoh berikut:

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

    Ganti kode berikut:

    • PROJECT_ID: ID project Anda.
    • ZONE_ID: zona tempat cluster Anda berada.
    • CLUSTER_ID: ID cluster Anda.
    • INSTANCE_ID: ID instance Anda.
  3. Deploy ulang aplikasi Anda di semua lingkungan Anda, termasuk pengembangan lokal, pengujian, staging, dan produksi.

Untuk mengetahui daftar rilis klien HBase untuk Java, lihat histori rilis di GitHub.

Go

Pada Juni 2016, klien Go mengubah cara terhubung ke Bigtable. Daripada menentukan ID cluster dan zona, tentukan ID instance. Anda dapat menemukan ID instance dengan mengunjungi Google Cloud konsol.

Untuk mendownload library klien, buka repositori kode di GitHub.

Perbarui kode Anda seperti yang ditunjukkan dalam contoh berikut:

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

Ganti kode berikut:

  • PROJECT_ID: ID project Anda.
  • ZONE: zona tempat cluster Anda berada.
  • CLUSTER_ID: ID cluster yang ingin Anda hubungkan.
  • INSTANCE_ID: ID instance yang ingin Anda hubungkan.

Untuk mengetahui daftar rilis library klien Go, lihat histori rilis di GitHub.

Langkah berikutnya