Google Cloud CLI を使用すると、アプリケーションをローカルでテストすることや、本番環境用の Datastore モードの Firestore インスタンスのインデックスを管理することができます。このページでは、これらのアクティビティの標準的なワークフローを説明します。
gcloud ツールは、次のワークフローをサポートします。
- Datastore インスタンスのローカル サポート(ディレクトリ、必要なファイル、プロジェクト ID など)を作成する。
- 本番環境の Datastore 環境のローカル エミュレーションを提供する Datastore エミュレータを起動する。
- アプリケーションのクエリからインデックスの定義を生成する。
- 手動で作成した(または生成された)インデックスの定義を、本番環境用のデータベース インスタンスにアップロードする。
- 本番環境用のデータベース インスタンスから、使用されていないインデックスを削除する。
コマンドライン ツールを使用した開発ワークフロー
gcloud ツールを使用した標準的なワークフローを以下に示します。
データストア エミュレータを起動します。
環境変数を設定して、アプリケーションにエミュレータの使用を認識させます。
アプリケーションを開始し、エミュレータに対してテストを行います。アプリケーションで使用されるクエリをエミュレータに対して実行する必要があります。これは、本番環境用のデータベース インスタンスのインデックスを生成するためです。
次の例のように、
indexes create
コマンドにローカルのindex.yaml
ファイルのパスを渡して、生成されたインデックスをアップロードします。gcloud datastore indexes create ~/.config/gcloud/emulators/datastore/WEB-INF/index.yaml
上の例のパスは、
data-dir
オプションでまだ特定のディレクトリを設定していないことを前提としています。特定のディレクトリを設定している場合は、index.yaml
ファイルへのパスを使用するようにパスを変更します。環境変数を削除し、アプリケーションに本番環境用のデータベース インスタンスの使用を認識させます。
本番環境用のデータベース インスタンスに対してアプリケーションを実行します。
インデックスの一部は、次第に使用されなくなります。使用されないインデックスを本番環境用のデータベース インスタンスから削除するには、そのインデックスをローカルの
index.yaml
ファイルから削除し、indexes cleanup
コマンドを呼び出します。gcloud datastore indexes cleanup ~/.config/gcloud/emulators/datastore/WEB-INF/index.yaml
data-dir
オプションで特定のディレクトリをすでに設定している場合は、index.yaml
ファイルのパスを使用するように上記の例のパスを変更します。