升級用戶端程式庫
本頁說明如何將先前安裝的 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 專案的 IDINSTANCE_ID:Bigtable 執行個體的 IDTABLE_ID:新資料表的 ID
Java 適用的 HBase 用戶端
如果您是要從 Java 適用的 HBase 用戶端的 1.0 或更新版本進行升級,您只需要更新設定中的版本號碼即可,並不需要更新程式碼。
如果您是要從 1.0 版本之前的 HBase 用戶端進行升級,請完成下列步驟:
更新依附元件以使用最新的用戶端程式庫,並移除不再需要的成果:
如果
bigtable-hbase-1.0、bigtable-hbase-1.1和bigtable-hbase-1.2構件存在,請將其從依附元件中移除。除非應用程式的其他部分需要
netty-tcnative-boringssl-static,否則請從依附元件中將其移除。視用途而定,將下列其中一個構件新增至依附元件。
2.x版本包含 HBase 非同步用戶端,1.x版本則沒有。
更新配置設定以連線至 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:專案 ID。ZONE_ID:叢集所在的區域。CLUSTER_ID:叢集 ID。INSTANCE_ID:執行個體的 ID。
在本機開發、測試、暫存和實際工作環境等所有環境中重新部署應用程式。
如需 Java 適用的 HBase 用戶端的版本清單,請參閱 GitHub 中的版本記錄。
Go
Go 用戶端在 2016 年 6 月變更了連線至 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:專案 ID。ZONE:叢集所在的區域。CLUSTER_ID:要連線的叢集 ID。INSTANCE_ID:要連線的執行個體 ID。
如需 Go 用戶端程式庫的版本清單,請參閱 GitHub 中的版本記錄。
後續步驟
- 進一步瞭解用戶端程式庫。
- 進一步瞭解 Bigtable 如何與其他工具和服務整合 Google Cloud 。