例: Go の App Engine アプリケーション

この例は、Bigtable を使用して自分の Google アカウントから訪問数を追跡するためのウェブ インターフェースを、Go で記述された App Engine アプリケーションにより実現したものです。このアプリケーションは、ローカルの Docker コンテナやクラウドの App Engine フレキシブル環境で動作します。このアプリケーションのコードは、GitHub リポジトリ GoogleCloudPlatform/golang-samplesbigtable/usercounter ディレクトリにあります。

コードサンプルの概要

このコードサンプルは、起動すると Bigtable の管理クライアントを作成します。次に、このクライアントを使用して、ユーザー指定の Bigtable インスタンスに emails という単一の列ファミリーを持つ user-visit-counter というテーブルがあるかどうかを確認します。必要があれば、そのテーブルと列ファミリーを作成します。

adminClient, err := bigtable.NewAdminClient(ctx, project, instance)
if err != nil {
	log.Fatalf("Unable to create a table admin client. %v", err)
}
tables, err := adminClient.Tables(ctx)
if err != nil {
	log.Fatalf("Unable to fetch table list. %v", err)
}
if !sliceContains(tables, tableName) {
	if err := adminClient.CreateTable(ctx, tableName); err != nil {
		log.Fatalf("Unable to create table: %v. %v", tableName, err)
	}
}
tblInfo, err := adminClient.TableInfo(ctx, tableName)
if err != nil {
	log.Fatalf("Unable to read info for table: %v. %v", tableName, err)
}
if !sliceContains(tblInfo.Families, familyName) {
	if err