クライアント ライブラリのアップグレード
このページでは、以前にインストールした Cloud Bigtable クライアント ライブラリをアップグレードする方法について説明します。クライアント ライブラリを初めてインストールする必要がある場合は、 Cloud Bigtable クライアント ライブラリにあるご希望のプログラミング言語の手順を実施してください。
Java 用 Bigtable クライアント
BigtableTableAdminClient と BigtableInstanceAdminClient のコンビニエンス メソッドは廃止されました。
コードをアップグレードする手順は次のとおりです。
- 静的
create()ファクトリ メソッドを使用して、V2 クライアントBigtableTableAdminClientV2とBigtableInstanceAdminClientV2をインスタンス化します。 com.google.cloud.bigtable.admin.v2.models.CreateTableRequestなどのカスタム ラッパー リクエスト オブジェクトを、com.google.bigtable.admin.v2.CreateTableRequestなどの標準プロトコル バッファ リクエスト オブジェクトに置き換えます。- 新しい標準プロトコル バッファ リクエスト オブジェクトが完全修飾リソース名を使用していることを確認します。
- 新しい V2 クライアントで標準プロトコル バッファ メソッドを直接呼び出します。
次の例に示すように、コード内のプレースホルダ変数を識別子に置き換えます。
// 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); }次のように置き換えます。
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: プロジェクトの識別子。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: プロジェクトの識別子。ZONE: クラスタが存在するゾーン。CLUSTER_ID: 接続するクラスタの識別子。INSTANCE_ID: 接続するインスタンスの識別子。
Go クライアント ライブラリのリリース一覧については、 GitHub のリリース履歴をご覧ください。
次のステップ
- クライアント ライブラリの詳細を確認する。
- Bigtable と他のツールや Google Cloud サービスとの統合方法を確認する。