PHP の Hello World
このコードサンプルは、PHP で動作する「Hello World」アプリケーションです。このサンプルでは、次のタスクを行う方法を説明します。
- 認証を設定する
- Bigtable インスタンスに接続する
- 新しいテーブルを作成する
- テーブルにデータを書き込む
- そのデータを読み取る
- テーブルを削除する
認証を設定する
ローカル開発環境でこのページの Python サンプルを使用するには、gcloud CLI をインストールして 初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
-
Google Cloud CLI をインストールします。
-
外部 ID プロバイダ(IdP)を使用している場合は、まず フェデレーション ID を使用して gcloud CLI にログインする必要があります。
-
ローカルシェルを使用している場合は、ユーザー アカウントのローカル認証情報を作成します。
gcloud auth application-default login
Cloud Shell を使用している場合は、この操作を行う必要はありません。
認証エラーが返され、外部 ID プロバイダ (IdP)を使用している場合は、フェデレーション ID を使用して gcloud CLI にログインしていることを確認します。
詳細については、 ローカル開発環境の認証を設定するをご覧ください。
サンプルの実行
このコードサンプルでは、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() メソッドを使用してテーブルを削除します。
すべてを組み合わせる
コメントなしの完全なコードサンプルを以下に示します。