テストテーブルの作成
このページでは、コード スニペットのテストで使用できる小さな Cloud Bigtable テーブルを作成する手順について説明します。このテーブルには、スマートフォンやタブレットの時系列データが含まれます。
この手順では、Google Cloud Console と cbt
(Bigtable 用に構築されたコマンドライン ツール)を使用します。
これらの手順を行う前に、cbt
を使用したクイックスタートを完了してツールを設定し、Bigtable についてよく理解する必要があります。
インスタンスの作成
任意のプロジェクトで、テストテーブルを保存するテスト インスタンスを作成します。このテーブルは小さいため、単一ノードのインスタンスのみで十分です。
Google Cloud Console で [インスタンスの作成] ページを開きます。
[インスタンス名] に「
Test instance
」と入力します。[インスタンス ID] に「
test-instance
」と入力します。[ストレージの種類] で [SSD] を選択します。
[クラスタ ID] に「
test-instance-c1
」と入力します。[リージョン] で、お近くのリージョンを選択します。
[ゾーン] で、選択したリージョンのゾーンを選択します。
[ノード] に「
1
」と入力します。[作成] をクリックしてインスタンスを作成します。
インスタンスに接続する
ローカルのターミナル ウィンドウで、環境変数
GOOGLE_APPLICATION_CREDENTIALS
を設定します。[PATH] の部分は、サービス アカウント キーが含まれる JSON ファイルのファイルパスで置き換えます。export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"
例:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/my-key.json"
.cbtrc
ファイルを作成し、project-id を Bigtable テスト インスタンスの作成先であるプロジェクトの ID に置き換えます。echo project = project-id > ~/.cbtrc
echo instance = test-instance >> ~/.cbtrc
.cbtrc
ファイルを正しく設定したことを確認します。cat ~/.cbtrc
ターミナルに
.cbtrc
ファイルの内容が次のように表示されます。project = project-id instance = test-instance
テストテーブルの作成
2 つの列ファミリーを持つ
test-table
という名前のテーブルを作成します。列ファミリーごとに、1 つのガベージ コレクション ポリシーを設定し、列ごとに最大で 2 つのセルを保持します。cbt createtable test-table "families=stats_summary:maxversions=2,stats_detail:maxversions=2,cell_plan:maxversions=2"
列ファミリーを一覧表示します。
cbt ls test-table
ターミナルによって次のような出力が表示されます。
Family Name GC Policy ----------- --------- stats_detail versions() > 2 stats_summary versions() > 2 cell_plan versions() > 2
テーブルに入力
ターミナル ウィンドウに次のコマンドをコピーして、
Enter
を押します。cbt set test-table phone#4c410523#20190501 stats_summary:connected_cell=1 stats_summary:connected_wifi=1 stats_summary:os_build=PQ2A.190405.003 cell_plan:data_plan_01gb=true cell_plan:data_plan_05gb=true cbt set test-table phone#4c410523#20190502 stats_summary:connected_cell=1 stats_summary:connected_wifi=1 stats_summary:os_build=PQ2A.190405.004 cell_plan:data_plan_05gb=true cbt set test-table phone#4c410523#20190505 stats_summary:connected_cell=0 stats_summary:connected_wifi=1 stats_summary:os_build=PQ2A.190406.000 cbt set test-table phone#5c10102#20190501 stats_summary:connected_cell=1 stats_summary:connected_wifi=1 stats_summary:os_build=PQ2A.190401.002 cell_plan:data_plan_10gb=true cbt set test-table tablet#5c10102#20190502 stats_summary:connected_cell=1 stats_summary:connected_wifi=0 stats_summary:os_build=PQ2A.190406.000 cell_plan:data_plan_10gb=true
cbt read
コマンドを使用して、テーブルに追加したデータを読み取ります。cbt read test-table
ターミナルによって次のような出力が表示されます。書き込みリクエストにはタイムスタンプが含まれないため、タイムスタンプはセルに自動的に割り当てられます。
---------------------------------------- phone#4c410523#20190501 cell_plan:data_plan_01gb @ 2020/09/23-11:44:10.535000 "true" cell_plan:data_plan_05gb @ 2020/09/23-11:44:10.535000 "true" stats_summary:connected_cell @ 2020/09/23-11:44:10.535000 "1" stats_summary:connected_wifi @ 2020/09/23-11:44:10.535000 "1" stats_summary:os_build @ 2020/09/23-11:44:10.535000 "PQ2A.190405.003" ---------------------------------------- phone#4c410523#20190502 cell_plan:data_plan_05gb @ 2020/09/23-11:44:11.545000 "true" stats_summary:connected_cell @ 2020/09/23-11:44:11.545000 "1" stats_summary:connected_wifi @ 2020/09/23-11:44:11.545000 "1" stats_summary:os_build @ 2020/09/23-11:44:11.545000 "PQ2A.190405.004" ---------------------------------------- phone#4c410523#20190505
stats_summary:connected_cell @ 2020/09/23-11:44:12.503000 "0" stats_summary:connected_wifi @ 2020/09/23-11:44:12.503000 "1" stats_summary:os_build @ 2020/09/23-11:44:12.503000 "PQ2A.190406.000" ---------------------------------------- phone#5c10102#20190501 cell_plan:data_plan_10gb @ 2020/09/23-11:44:13.553000 "true" stats_summary:connected_cell @ 2020/09/23-11:44:13.553000 "1" stats_summary:connected_wifi @ 2020/09/23-11:44:13.553000 "1" stats_summary:os_build @ 2020/09/23-11:44:13.553000 "PQ2A.190401.002" ---------------------------------------- tablet#5c10102#20190502 cell_plan:data_plan_10gb @ 2020/09/23-11:44:14.480000 "true" stats_summary:connected_cell @ 2020/09/23-11:44:14.480000 "1" stats_summary:connected_wifi @ 2020/09/23-11:44:14.480000 "0" stats_summary:os_build @ 2020/09/23-11:44:14.480000 "PQ2A.190406.000"
テストデータの使用
これで、test-instance
で test-table
を使用して、Cloud Bigtable と Cloud Functions の併用などにあるコード スニペットを試すことができるようになりました。
クリーンアップ
この手順で作成したリソースについて、Google Cloud アカウントに課金されないようにするには、テストの完了後すぐにインスタンスを削除します。.cbtrc ファイルを削除すると、別のプロジェクトで作業できるようになります。
インスタンスを削除せずにテーブルを削除する場合は、
deletetable
コマンドを使用します。cbt deletetable test-table
今後インスタンスをテストに使用する予定がない場合は、インスタンスを削除します。この操作を行うと、テーブルも削除されます。
cbt deleteinstance test-instance
.cbtrc ファイルを削除します。
rm ~/.cbtrc