gcloud ツールを使用したアプリケーション テストとインデックス管理

gcloud コマンドライン ツールを使用すると、アプリケーションをローカルでテストすることや、本番環境用の Datastore モードの Firestore インスタンスのインデックスを管理できます。このページでは、これらのアクティビティの標準的なワークフローを説明します。

gcloud ツールは、次のワークフローをサポートします。

  1. Datastore インスタンスのローカル サポート(ディレクトリ、必要なファイル、プロジェクト ID など)を作成する。
  2. 本番環境の Datastore 環境のローカル エミュレーションを提供する Datastore エミュレータを起動する。
  3. アプリケーションのクエリからインデックスの定義を生成する。
  4. 手動で作成した(または生成された)インデックスの定義を、本番環境用のデータベース インスタンスにアップロードする。
  5. 本番環境用のデータベース インスタンスから、使用されていないインデックスを削除する。

コマンドライン ツールを使用した開発ワークフロー

gcloud ツールを使用した標準的なワークフローを以下に示します。

  1. Datastore エミュレータを起動します。

  2. 環境変数を設定して、アプリケーションにエミュレータの使用を認識させます。

  3. アプリケーションを開始し、エミュレータに対してテストを行います。アプリケーションで使用されるクエリをエミュレータに対して実行する必要があります。これは、本番環境用のデータベース インスタンスのインデックスを生成するためです。

  4. 次の例のように、indexes create コマンドにローカルの index.yaml ファイルのパスを渡して、生成されたインデックスをアップロードします。

    gcloud datastore indexes create ~/.config/gcloud/emulators/datastore/WEB-INF/index.yaml
    

    上の例のパスは、data-dir オプションでまだ特定のディレクトリを設定していないことを前提としています。特定のディレクトリを設定している場合は、index.yaml ファイルへのパスを使用するようにパスを変更します。

  5. 環境変数を削除し、アプリケーションに本番環境用のデータベース インスタンスの使用を認識させます。

  6. 本番環境用のデータベース インスタンスに対してアプリケーションを実行します。

  7. インデックスの一部は、次第に使用されなくなります。使用されないインデックスを本番環境用のデータベース インスタンスから削除するには、そのインデックスをローカルの index.yaml ファイルから削除し、indexes cleanup コマンドを呼び出します。

    gcloud datastore indexes cleanup ~/.config/gcloud/emulators/datastore/WEB-INF/index.yaml
    

    data-dir オプションで特定のディレクトリをすでに設定している場合は、index.yaml ファイルのパスを使用するように上記の例のパスを変更します。

次のステップ