PHP の Hello World
このコードサンプルは、PHP で動作する「Hello World」アプリケーションです。このサンプルでは、次のタスクを行う方法を説明します。
- 認証を設定する
- Bigtable インスタンスに接続する
- 新しいテーブルを作成する
- テーブルにデータを書き込む
- そのデータを読み取る
- テーブルを削除する
認証を設定する
ローカル開発環境でこのページの Python サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
- Install the Google Cloud CLI.
-
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 をご覧ください。
サンプルの実行
このコードサンプルでは、PHP 用 Google Cloud クライアント ライブラリの Cloud Bigtable 用 PHP クライアント ライブラリ パッケージを使用して Bigtable と通信します。
このサンプル プログラムを実行するには、GitHub でのサンプルの手順に沿って操作してください。
Bigtable での Cloud クライアント ライブラリの使用
このサンプル アプリケーションは Bigtable に接続して、いくつかのシンプルなオペレーションを行います。
必要なクライアント ライブラリ
このサンプルでは、ApiCore の ApiException クラスと Bigtable 用 PHP クライアントのクラス数を使用します。
Bigtable への接続
有効なGoogle Cloud プロジェクト ID、Bigtable インスタンス ID、テーブル ID を使用して、アプリケーションで使用する変数を設定します。次に、Bigtable への接続に使用する新しい BigtableInstanceAdminClient、BigtableTableAdminClient、BigtableClient オブジェクトをインスタンス化します。
テーブルの作成
テーブルがすでに存在するかどうかを確認します。存在しない場合は、createtable()
メソッドを呼び出して Table
オブジェクトを作成します。このテーブルには、各列の値の 1 つのバージョンを保持する単一の列ファミリーがあります。
テーブルへの行の書き込み
次に、グリーティングの文字列配列を使用してテーブルの新しい行を作成します。グリーティングごとに新しい Mutations
オブジェクトを作成し、upsert()
を使用して entries
に追加します。次に、テーブルの mutateRows()
メソッドを使用してテーブルにエントリを書き込みます。
フィルタを使用した行の読み取り
書き込んだデータを読み取る前に、Bigtable によって返されるデータを制限するためのフィルタを作成します。このフィルタは、ガベージ コレクションが行われていない古いバージョンがテーブルに含まれていても、各値の最新バージョンのみを返すように Bigtable に指示します。
行オブジェクトを作成します。その後、readRow()
メソッドを呼び出してフィルタを渡し、その行の各列の 1 つのバージョンを取得します。
すべてのテーブル行のスキャン
テーブル内のすべての行を取得するには、readRows()
メソッドを呼び出してフィルタを渡します。フィルタを渡しているため、Bigtable は各値の 1 つのバージョンのみを返します。
テーブルの削除
管理クライアントの deleteTable()
メソッドを使用してテーブルを削除します。
すべてを組み合わせる
コメントなしの完全なコードサンプルを以下に示します。