cbt を使用したクイックスタート

Cloud Bigtable について学習する場合は、クイックスタートに一通り目を通しておくと、本番環境で大規模に使用することになる基礎を実際に体験できます。

cbt ツールを使用すると、Cloud Bigtable を直接操作できるので、実行可能ファイルをコンパイルして実行する必要がありません。このクイックスタートでは、次のアクションを実行します。

  • Cloud Bigtable インスタンスに接続する
  • 基本的な管理タスクを実行する
  • テーブルにデータを書き込む
  • テーブルからデータを読み取る

このクイックスタートを開始するには、Cloud Shell またはローカル ターミナル ウィンドウを使用します。

  1. GCP プロジェクトを選択または作成します。このクイックスタートで作成するリソースを保持しない場合は、新しいプロジェクトを作成します。クイックスタートを完了したら、プロジェクトを削除します。

    プロジェクト セレクタのページに移動

  2. Google Cloud プロジェクトの課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  3. Cloud Bigtable と Cloud Bigtable Admin API を有効にします。

    API を有効にする

  4. API を有効にしたら、[認証情報に進む] をクリックします。

  5. [認証情報] ページで、必須の質問に回答します。

    1. [使用する API] への回答として、[Cloud Bigtable API] を選択します。
    2. App Engine または Compute Engine に関する質問に回答します。このクイックスタートでは、どちらも使用していません
    3. [必要な認証情報] をクリックします。
    4. サービス アカウントを作成するように求められた場合は、次の情報を指定します。
      1. サービス アカウントの名前を選択します。
      2. [役割] で、[Cloud Bigtable] > [Bigtable 管理者] を選択します。
      3. [キーのタイプ] で、[JSON] を選択します。
      4. [続行] をクリックします。
      5. 新規に作成したサービス アカウント JSON ファイルをローカルの HOME ディレクトリまたは任意の場所に保存します。
    5. 新しいサービス アカウントを作成するように求められない場合は、[完了] をクリックします。
  6. ローカルで、または Cloud Shell でターミナル ウィンドウを開きます。

    Cloud Shell を開く

  7. ローカル ターミナル ウィンドウを使用していて、Cloud SDK と cbt ツールをまだインストールしていない場合には、ここでインストールします。Cloud Shell を使用している場合は、これらのツールがプリインストールされているので、これらの手順をスキップできます。

    1. Cloud SDK をインストールする。

    2. cbt コマンドライン ツールをインストールします。

      gcloud components update
      gcloud components install cbt

Cloud Bigtable インスタンスを作成する

  1. Google Cloud Console で [インスタンスの作成] ページを開きます。

    インスタンスの作成

  2. [インスタンス名] に「Quickstart instance」と入力します。

  3. [インスタンス ID] に「quickstart-instance」と入力します。

  4. [インスタンスのタイプ] で [開発] を選択します。

  5. [インスタンスのタイプ] で [SSD] を選択します。

  6. [クラスタ ID] に「quickstart-instance-c1」と入力します。

  7. [リージョン] で、お近くのリージョンを選択します。

  8. [ゾーン] で、選択したリージョンのゾーンを選択します。

  9. [作成] をクリックしてインスタンスを作成します。

インスタンスへの接続

  1. 自分のプロジェクトとインスタンスを使用するように cbt を構成します。そのためには、.cbtrc ファイルを作成し、project-id を Cloud Bigtable インスタンスの作成先であるプロジェクトの ID に置き換えます。

       echo project = project-id > ~/.cbtrc
       echo instance = quickstart-instance >> ~/.cbtrc

  2. .cbtrc ファイルを正しく設定したことを確認します。

       cat ~/.cbtrc

    ターミナルに .cbtrc ファイルの内容が次のように表示されます。

    project = project-id
    instance = quickstart-instance

    これで、インスタンスで cbt ツールを使用できるようになりました。

データの読み取りと書き込み

Cloud Bigtable では、いくつもの行で構成されたテーブルにデータが格納されます。各行は行キーによって識別されます。

各行内のデータは、列のグループである「列ファミリー」に整理されます。列ファミリー内の個々の列は列修飾子によって識別されます。

行と列が交差する部分に、値のバージョンがタイムスタンプ付きで複数存在することがあります。各バージョンをセルといいます。

  1. テーブルを my-table という名前で作成します。

       cbt createtable my-table

  2. テーブルの一覧を表示します。

       cbt ls

    コマンドによって次のような出力が表示されます。

        my-table

  3. 1 つの列ファミリーを cf1 という名前で追加します。

       cbt createfamily my-table cf1

  4. 列ファミリーを一覧表示します。

       cbt ls my-table

    コマンドによって次のような出力が表示されます。

        Family Name     GC Policy
        -----------     ---------
        cf1             <never>

  5. 列ファミリー cf1 と列修飾子 c1 を使用して、行 r1test-value という値を入れます。

       cbt set my-table r1 cf1:c1=test-value

  6. cbt read コマンドを使用して、テーブルに追加したデータを読み取ります。

       cbt read my-table

    シェルによって次のような出力が表示されます。

        ----------------------------------------
        r1
          cf1:c1                                   @ 2019/11/26-15:05:38.840000
            "test-value"

    タイムスタンプを指定しなかったため、自動的にタイムスタンプが追加されます。

クリーンアップ

このクイックスタートで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、インスタンスを削除します。.cbtrc ファイルを削除すると、別のプロジェクトで作業できるようになります。

  1. テーブル my-table を削除します。

       cbt deletetable my-table

  2. インスタンスを削除します。

       cbt deleteinstance quickstart-instance
  3. ファイル .cbtrc を削除します。

       rm ~/.cbtrc