Mengupgrade library klien

Mengupgrade library klien Cloud Bigtable untuk Java, HBase untuk Java, dan Go memungkinkan Anda bermigrasi dari metode yang sudah tidak digunakan dan mengadopsi pola koneksi dan buffer protokol saat ini. Jika Anda perlu menginstal library klien untuk pertama kalinya, ikuti petunjuk untuk bahasa pemrograman pilihan Anda di Library Klien Bigtable.

Klien Bigtable untuk Java

Metode praktis di BigtableTableAdminClient dan BigtableInstanceAdminClient sudah tidak berlaku lagi.

Untuk mengupgrade kode, ikuti langkah-langkah berikut:

  1. Buat instance klien V2, BigtableTableAdminClientV2 dan BigtableInstanceAdminClientV2, menggunakan metode create() factory 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 secara 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.

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

  1. Update 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 dari aplikasi Anda memerlukannya.

    • Tambahkan salah satu artefak berikut ke dependensi Anda, bergantung pada kasus penggunaan Anda. Versi 2.x menyertakan 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: Digunakan 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 dan zona cluster, tentukan ID instance. Anda dapat menemukan ID instance dengan membuka 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