クライアント ライブラリのアップグレード

このページでは、以前にインストールした Cloud Bigtable クライアント ライブラリをアップグレードする方法について説明します。クライアント ライブラリを初めてインストールする必要がある場合は、 Cloud Bigtable クライアント ライブラリにあるご希望のプログラミング言語の手順を実施してください。

Java 用 Bigtable クライアント

BigtableTableAdminClientBigtableInstanceAdminClient のコンビニエンス メソッドは廃止されました。

コードをアップグレードする手順は次のとおりです。

  1. 静的 create() ファクトリ メソッドを使用して、V2 クライアント BigtableTableAdminClientV2BigtableInstanceAdminClientV2 をインスタンス化します。
  2. com.google.cloud.bigtable.admin.v2.models.CreateTableRequest などのカスタム ラッパー リクエスト オブジェクトを、com.google.bigtable.admin.v2.CreateTableRequest などの標準プロトコル バッファ リクエスト オブジェクトに置き換えます。
  3. 新しい標準プロトコル バッファ リクエスト オブジェクトが完全修飾リソース名を使用していることを確認します。
  4. 新しい V2 クライアントで標準プロトコル バッファ メソッドを直接呼び出します。
  5. 次の例に示すように、コード内のプレースホルダ変数を識別子に置き換えます。

    // 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 クライアントからアップグレードする場合は、以下の手順を実施してください。

  1. 最新のクライアント ライブラリを使用するように依存関係を更新し、不要になったアーティファクトを削除します。

    • bigtable-hbase-1.0bigtable-hbase-1.1、および bigtable-hbase-1.2 アーティファクト(存在する場合)を依存関係から削除します。

    • アプリケーションの他の部分で必要ない場合は、netty-tcnative-boringssl-static を依存関係から削除します。

    • ユースケースに応じて、次のいずれかのアーティファクトを依存関係に追加します。2.x バージョンには、1.x バージョンにはない HBase 非同期クライアントが含まれています。

      • bigtable-hbase-1.x または bigtable-hbase-2.x: 依存関係を制御するスタンドアロン アプリケーションに使用します。
      • bigtable-hbase-1.x-hadoop または bigtable-hbase-2.x-hadoop: Hadoop 環境で使用されます。
      • bigtable-hbase-1.x-shaded または bigtable-hbase-2.x-shaded: protobufGuava などの初期のバージョンのコンポーネントを必要とする Hadoop 以外の環境で使用されます。
  2. 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: インスタンスの識別子。
  3. ローカル開発、テスト、ステージング、本番など、すべての環境にアプリケーションを再デプロイ します。

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 のリリース履歴をご覧ください。

次のステップ