Python の Hello World
この例は、Python で記述された「Hello World」アプリケーションで、次の処理を行う方法を示します。
- 認証を設定する。
- Bigtable インスタンスに接続する
- 新しいテーブルを作成する
- テーブルにデータを書き込む
- そのデータを読み取る
- テーブルを削除する
Bigtable 用の Python クライアント ライブラリには、asyncio
と同期 API の 2 つの API が用意されています。アプリケーションが非同期の場合は、asyncio
を使用します。
認証を設定する
ローカル開発環境でこのページの Python サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
詳細については Set up authentication for a local development environment をご覧ください。
サンプルの実行
この例では、Python 用 Cloud クライアント ライブラリの Bigtable パッケージを使用して、Bigtable と通信します。Bigtable パッケージは新しいアプリケーションに最適です。既存の HBase ワークロードを Bigtable に移動する必要がある場合、HappyBase パッケージを使用した「hello world」の例をご覧ください。
このサンプル プログラムを実行するには、GitHub でのサンプルの手順に沿って操作してください。
Bigtable で Cloud クライアント ライブラリを使用する
このサンプル アプリケーションは Bigtable に接続して、いくつかのオペレーションを行います。
クライアント ライブラリをインストールしてインポートする
PIP を使用して、必要な Python パッケージを virtualenv 環境にインストールします。サンプルには、必要なパッケージを定義する要件ファイルが含まれています。
モジュールをインポートします。
Asyncio
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
同期
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Bigtable に接続する
bigtable.Client
を使用して Bigtable に接続します。
Asyncio
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
同期
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
テーブルを作成する
Instance.table()
を使用して、テーブル オブジェクトをインスタンス化します。列ファミリーを作成してそのガベージ コレクション ポリシーを設定してから、列ファミリーを Table.create()
に渡してテーブルを作成します。
テーブルに行を書き込む
グリーティング文字列のリストをループ処理して、テーブルに新しい行をいくつか作成します。それぞれのイテレーションの中で、Table.row()
を使用して 1 行を定義し、それに行キーを割り当てます。Row.set_cell()
を呼び出して現在のセルの値を設定してから、新しい行を行の配列に追加します。最後に、Table.mutate_rows()
を呼び出して行をテーブルに追加します。
Asyncio
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
同期
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
フィルタを作成
書き込んだデータを読み取る前に、row_filters.CellsColumnLimitFilter()
を使用して、Bigtable によって返されるデータを制限するためのフィルタを作成します。このフィルタは、ガベージ コレクション中にまだ削除されていない古いセルがテーブルに含まれていても、各列の最新のセルのみを返すように Bigtable に指示します。
Asyncio
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
同期
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
行キーによって行を読み取る
テーブルの Table.read_row()
メソッドを呼び出して、特定の行キーが含まれる行の参照を取得し、キーとフィルタを渡し、その行の各値の 1 つのバージョンを取得します。
Asyncio
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
同期
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
すべてのテーブル行をスキャンする
Table.read_rows()
を使用して、テーブルから特定の範囲の行を読み取ります。
Asyncio
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
同期
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
テーブルを削除する
Table.delete()
を使用して、テーブルを削除します。
すべてをまとめる
コメントなしの例を以下に示します。
Asyncio
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
同期
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。