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:
- Buat instance klien V2,
BigtableTableAdminClientV2danBigtableInstanceAdminClientV2, menggunakan metodecreate()factory statis. - Ganti objek permintaan wrapper kustom, seperti
com.google.cloud.bigtable.admin.v2.models.CreateTableRequest, dengan objek permintaan buffer protokol standar, seperticom.google.bigtable.admin.v2.CreateTableRequest. - Pastikan objek permintaan buffer protokol standar baru menggunakan nama resource yang sepenuhnya memenuhi syarat.
- Panggil metode buffer protokol standar secara langsung di klien V2 baru Anda.
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 AndaINSTANCE_ID: ID instance Bigtable AndaTABLE_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:
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, danbigtable-hbase-1.2dari dependensi Anda jika ada.Hapus
netty-tcnative-boringssl-staticdari 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.xmenyertakan klien asinkron HBase yang tidak dimiliki versi1.x.bigtable-hbase-1.xataubigtable-hbase-2.x: Gunakan untuk aplikasi mandiri tempat Anda mengontrol dependensi.bigtable-hbase-1.x-hadoopataubigtable-hbase-2.x-hadoop: Gunakan di lingkungan Hadoop.bigtable-hbase-1.x-shadedataubigtable-hbase-2.x-shaded: Digunakan di lingkungan selain Hadoop yang memerlukan komponen versi sebelumnya seperti protobuf atau Guava.
Perbarui setelan konfigurasi Anda untuk terhubung ke Bigtable.
Jika setelan konfigurasi dalam kode Anda atau dalam file
hbase-site.xmlmenyertakan nilai untukhbase.client.connection.impl, ubah nilai tersebut menjadicom.google.cloud.bigtable.hbase1_x.BigtableConnection.Jika Anda menggunakan class
BigtableConnectionsecara langsung, perbarui kode Anda untuk menggunakancom.google.cloud.bigtable.hbase1_x.BigtableConnection.Jika Anda menggunakan file
hbase-site.xmluntuk terhubung ke Bigtable:- Tambahkan properti
google.bigtable.instance.idjika belum ada. Tetapkan nilai properti ke ID instance Anda. - Hapus properti
google.bigtable.cluster.namejika ada. - Hapus properti
google.bigtable.zone.namejika ada.
- Tambahkan properti
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.
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
- Baca selengkapnya tentang library klien.
- Pelajari lebih lanjut cara Bigtable terintegrasi dengan alat dan layanan Google Cloud lainnya.