クライアント ライブラリのアップグレード
このページでは、以前にインストールした 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 クライアント
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バージョンには、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: プロジェクトの ID。ZONE_ID: クラスタが存在するゾーン。CLUSTER_ID: クラスタの識別子。INSTANCE_ID: インスタンスの識別子。
ローカル開発、テスト、ステージング、本番など、すべての環境にアプリケーションを再デプロイします。
Java 用 Cloud Bigtable HBase クライアントのリリース一覧については、GitHub のリリース履歴をご覧ください。
Go
2016 年 6 月、Go クライアントは、Bigtable に対する接続方法が変更されました。クラスタ ID とゾーンを指定する代わりに、インスタンス ID を指定します。インスタンス ID は、Google Cloud コンソールにアクセスして確認できます。
クライアント ライブラリをダウンロードするには、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: 接続するクラスタの識別子。INSTANCE_ID: 接続するインスタンスの ID。
Go クライアント ライブラリのリリース一覧については、GitHub のリリース履歴をご覧ください。
次のステップ
- クライアント ライブラリの詳細を確認する。
- Bigtable と他のツールや Google Cloud サービスとの統合方法を確認する。