升级客户端库
本页面介绍了如何升级以前安装的 Cloud Bigtable 客户端库。如果您是第一次需要安装客户端库,请按照 Cloud Bigtable 客户端库中首选编程语言的相关说明进行操作。
Java 版 Bigtable 客户端
BigtableTableAdminClient 和 BigtableInstanceAdminClient 中的简便方法已过时。
如需升级代码,请使用 getBaseClient() 调用标准协议缓冲区方法。这需要将自定义封装对象(例如 com.google.cloud.bigtable.admin.v2.models.CreateTableRequest)替换为标准协议缓冲区请求对象(例如 com.google.bigtable.admin.v2.CreateTableRequest)。这些对象需要完全限定的资源名称。
按以下示例所示更新代码:
// 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);
替换以下内容:
PROJECT_ID:您的 Bigtable 项目的标识符INSTANCE_ID:Bigtable 实例的标识符TABLE_ID:新表的标识符
Java 版 HBase 客户端
如果您要从 1.0 版或更高版本的 Java HBase 客户端进行升级,则只需更新配置中的版本号,您无需更新代码。
如果要从 1.0 版之前的 HBase 客户端升级,请完成以下步骤:
更新依赖项以使用最新的客户端库并移除不再需要的工件:
从依赖项中移除
bigtable-hbase-1.0、bigtable-hbase-1.1和bigtable-hbase-1.2工件(如果存在)。从依赖项中移除
netty-tcnative-boringssl-static,除非应用的其他部分需要它。根据您的应用场景,将以下工件之一添加到依赖项。
2.x版本包含1.x版本所不具备的 HBase 异步客户端。
更新配置设置以连接到 Bigtable。
如果代码或
hbase-site.xml文件中的配置设置包含hbase.client.connection.impl的值,请将该值更改为com.google.cloud.bigtable.hbase1_x.BigtableConnection。如果您直接使用
BigtableConnection类,请更新代码以改用com.google.cloud.bigtable.hbase1_x.BigtableConnection。如果您使用
hbase-site.xml文件连接到 Bigtable,请执行以下操作:- 添加
google.bigtable.instance.id属性(如果不存在)。将属性值设置为您的实例 ID。 - 移除
google.bigtable.cluster.name属性(如果存在)。 - 移除
google.bigtable.zone.name属性(如果存在)。
- 添加
如果您通过调用
BigtableConfiguration.connect()连接到 Bigtable,请更新代码,如以下示例所示:
// Existing code BigtableConfiguration.connect(PROJECT_ID, ZONE_ID, CLUSTER_ID); // New code BigtableConfiguration.connect(PROJECT_ID, INSTANCE_ID);替换以下内容:
PROJECT_ID:您的项目的标识符。ZONE_ID:集群所在的可用区。CLUSTER_ID:集群的标识符。INSTANCE_ID:实例的标识符。
在所有环境(包括本地开发环境、测试环境、模拟环境和生产环境)中重新部署应用。
如需查看 Java 版 HBase 客户端的版本列表,请参阅 GitHub 上的版本历史记录。
Go
2016 年 6 月,Go 客户端更改了连接到 Bigtable 的方式。您无需指定集群 ID 和地区,只需指定实例 ID 即可。您可以前往Google Cloud 控制台来找到实例 ID。
要下载客户端库,请访问 GitHub 上的代码库。
按以下示例所示更新代码:
// 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)
替换以下内容:
PROJECT_ID:您的项目的标识符。ZONE:集群所在的可用区。CLUSTER_ID:您要连接的集群的标识符。INSTANCE_ID:您要连接到的实例的标识符。
如需查看 Go 客户端库的版本列表,请参阅 GitHub 上的版本历史记录。
后续步骤
- 详细了解客户端库。
- 详细了解 Bigtable 如何与其他工具和 Google Cloud 服务集成。