Mengupgrade library klien

Halaman ini menjelaskan cara mengupgrade library klien Cloud Bigtable yang diinstal sebelumnya. 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 berlaku lagi.

Untuk mengupgrade kode, panggil metode buffer protokol standar menggunakan getBaseClient(). Hal ini memerlukan penggantian objek wrapper kustom, seperti com.google.cloud.bigtable.admin.v2.models.CreateTableRequest, dengan objek permintaan buffer protokol standar, seperti com.google.bigtable.admin.v2.CreateTableRequest. Objek ini mengharapkan nama resource yang sepenuhnya memenuhi syarat.

Perbarui kode Anda 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
  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);

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.

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

  1. Perbarui dependensi Anda untuk menggunakan library klien terbaru dan hapus 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 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.
      • 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 komponen versi 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.

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

      • Tambahkan properti google.bigtable.instance.id jika belum 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 membuka konsolGoogle Cloud .

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