クイックスタート: cbt CLI を使用してインスタンスを作成し、データを書き込む

cbt CLI を使用してインスタンスを作成し、データを書き込む

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

このガイドでは、cbt コマンドライン インターフェースを使用します。HBase シェルを使用する場合は、HBase シェルを使用したクイックスタートに従ってください。

このクイックスタートでは、次のアクションを実行します。

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

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

始める前に

  1. Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

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

  3. Cloud プロジェクトに対して課金が有効になっていることを確認します。詳しくは、プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。

  4. Cloud Bigtable, Cloud Bigtable Admin API を有効にします。

    API を有効にする

  5. サービス アカウントを作成します。

    1. コンソールで [サービス アカウントの作成] ページに移動します。

      [サービス アカウントの作成] に移動
    2. プロジェクトを選択します。
    3. [サービス アカウント名] フィールドに名前を入力します。この名前に基づいて [サービス アカウント ID] フィールドに値が入力されます。

      [サービス アカウントの説明] フィールドに説明を入力します。例: Service account for quickstart

    4. [作成して続行] をクリックします。
    5. プロジェクトへのアクセス権限を付与するには、サービス アカウントに次のロールを付与します。Bigtable Administrator

      [ロールを選択] リストでロールを選択します。

      ロールを追加するには、[別のロールを追加] をクリックして各ロールを追加します。

    6. [続行] をクリックします。
    7. [完了] をクリックして、サービス アカウントの作成を完了します。

      ブラウザ ウィンドウは閉じないでください。次のステップでこれを使用します。

  6. サービス アカウント キーを作成します。

    1. コンソールで、作成したサービス アカウントのメールアドレスをクリックします。
    2. [キー] をクリックします。
    3. [鍵を追加]、[新しい鍵を作成] の順にクリックします。
    4. [作成] をクリックします。JSON キーファイルがパソコンにダウンロードされます。
    5. [閉じる] をクリックします。
  7. Google Cloud CLI をインストールして初期化します。
  8. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

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

  9. Cloud プロジェクトに対して課金が有効になっていることを確認します。詳しくは、プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。

  10. Cloud Bigtable, Cloud Bigtable Admin API を有効にします。

    API を有効にする

  11. サービス アカウントを作成します。

    1. コンソールで [サービス アカウントの作成] ページに移動します。

      [サービス アカウントの作成] に移動
    2. プロジェクトを選択します。
    3. [サービス アカウント名] フィールドに名前を入力します。この名前に基づいて [サービス アカウント ID] フィールドに値が入力されます。

      [サービス アカウントの説明] フィールドに説明を入力します。例: Service account for quickstart

    4. [作成して続行] をクリックします。
    5. プロジェクトへのアクセス権限を付与するには、サービス アカウントに次のロールを付与します。Bigtable Administrator

      [ロールを選択] リストでロールを選択します。

      ロールを追加するには、[別のロールを追加] をクリックして各ロールを追加します。

    6. [続行] をクリックします。
    7. [完了] をクリックして、サービス アカウントの作成を完了します。

      ブラウザ ウィンドウは閉じないでください。次のステップでこれを使用します。

  12. サービス アカウント キーを作成します。

    1. コンソールで、作成したサービス アカウントのメールアドレスをクリックします。
    2. [キー] をクリックします。
    3. [鍵を追加]、[新しい鍵を作成] の順にクリックします。
    4. [作成] をクリックします。JSON キーファイルがパソコンにダウンロードされます。
    5. [閉じる] をクリックします。
  13. Google Cloud CLI をインストールして初期化します。

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

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

    インスタンスの作成

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

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

  4. [ストレージの種類] で [SSD] を選択します。

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

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

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

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

インスタンスへの接続

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

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

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

       cat ~/.cbtrc

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

    project = project-id
    instance = quickstart-instance

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

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

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

次のステップ