Datastore モードの Firestore でデータを保存し、クエリを実行する

このページでは、Google Cloud コンソールを使用して、Datastore モードの Firestore でデータを保存し、クエリを実行する方法について説明します。

準備

  • Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  • In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  • In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  • プロジェクトのオーナーではない場合、このクイックスタートを行うにはアカウントに次の権限が必要です。

    • アカウントには Datastore オーナーロールが必要です。このロールには、Datastore モードのインスタンスの作成に必要な datastore.databases.create 権限が含まれています。
    • Datastore モードではアクティブな App Engine アプリケーションが必要です。プロジェクトにアプリケーションがない場合は、このクイックスタートによってアプリケーションが作成されます。その場合は、appengine.applications.create 権限が必要です。プロジェクト オーナーは、IAM カスタムロールを使ってこの権限を割り当てることができます。

データベースの作成

  1. 新しいデータベース インスタンスを作成するには、Google Cloud コンソールの Datastore セクションを開きます。
    [Datastore] ページに移動

  2. データベース モードを選択します。

    新しい Firestore データベースを作成する場合、ネイティブ モードまたは Datastore モードを選択して Firestore を使用できます。同じプロジェクトで両方のモードを併用することはできません。

    次のデータベース オプションのいずれかを選択します。

    • ネイティブ モードの Firestore

      モバイルアプリとウェブアプリに推奨します。Firestore の使用を開始するには、Firestore クイックスタートに進みます。

    • Datastore モードの Firestore

      バックエンド サーバーを使用するアプリ アーキテクチャに推奨します。

    データベースの選択に関するガイドと各機能の比較については、ネイティブ モードと Datastore モードからの選択をご覧ください。

  3. データベースのロケーションを選択します。Datastore モードでは、マルチリージョン ロケーションとリージョン ロケーションがサポートされます。

    マルチリージョン ロケーションでは、可用性と耐久性が最大化されます。リージョン ロケーションでは、書き込みレイテンシが抑えられます。ロケーション タイプの詳細については、Datastore モードのロケーションをご覧ください。このロケーションは、Google Cloud プロジェクトの Datastore モード データベースと App Engine アプリケーションの両方に適用されます。

    [データベースを作成] をクリックします。 データベースの初期化が完了すると、Google Cloud コンソールから Datastore の [エンティティ] ページに移動します。

データを保存する

  1. Google Cloud コンソールの Datastore の [エンティティ] ページに移動します。

    [エンティティ] ページに移動

    このページでは、データの保存、クエリ、更新、削除を行えます。

  2. [エンティティを作成] をクリックします。

  3. [エンティティの作成] ページの [名前空間] には [default] を使用します。

  4. [種類] フィールドに「Task」と入力します。[Key identifier] はデフォルト値の Numeric ID (auto-generated) のままにします。

  5. [プロパティ] の [プロパティを追加] ボタンをクリックして、以下のプロパティを追加します。

    名前 インデックス登録
    description 文字列 Datastore の学習。
    created 日時 (今日の日付)
    done ブール値 False
    作成ページは次のようになります。

    さまざまなプロパティを設定したエンティティ作成画面

  6. [CREATE] をクリックします。作成した Task エンティティが Console に表示されます。

これでデータベースにデータが保存されました。

クエリの実行

Datastore モードのデータベースでは、種類または Google Query Language(GQL)によってデータのクエリを実行できます。以下の手順では、両方を使用してデータベースをクエリする方法について説明します。

種類別クエリの実行

  1. [種類別のクエリ] をクリックします。
  2. 種類として Task を選択します。

クエリの結果として、作成した Task エンティティが表示されます。

次に、特定の条件に適合するエンティティだけが返されるよう結果を制限するクエリ句を追加します。

  1. [クエリ句を追加] をクリックします。
  2. プルダウン リストで、WHEREdone==booleanfalse を選択します。
  3. [実行] をクリックします。作成した Task エンティティの done の値は false であるため、結果に表示されます。 フィルタが適用された種類別クエリ
  4. クエリ句を WHEREdone==ブール値 に変更します。[実行] をクリックします。作成した Task エンティティの done の値は true ではないため、結果には表示されません。

GQL クエリの実行

  1. [GQL によるクエリ] をクリックします。
  2. クエリとして「SELECT * FROM Task」を入力します。Task では大文字と小文字が区別されます。
  3. [クエリを実行] をクリックします。

クエリの結果として、作成した Task エンティティが表示されます。

特定の条件に適合するエンティティだけが返されるように、結果を制限するクエリフィルタを追加します。

  1. SELECT * FROM Task WHERE done=false のようなクエリを実行します。Taskdone では大文字と小文字が区別されます。作成した Task エンティティの done の値は false であるため、結果に表示されます。 フィルタを適用した GQL クエリ
  2. SELECT * FROM Task WHERE done=true のようなクエリを実行します。作成した Task エンティティの done の値は true ではないため、結果には表示されません。

クリーンアップ

  1. [種類別のクエリ] をクリックし、選択された種類が Task であることを確認します。
  2. [クリア] をクリックして、クエリ句を削除します。
  3. 作成した Task エンティティを選択します。
  4. [削除] をクリックして、Task エンティティを削除することを確認します。ブラウザ ウィンドウのサイズによっては、[削除] が [その他の操作] メニューの下にある場合があります。削除すると、このエンティティがデータベースから完全に削除されます。

これでクイックスタートの演習はすべて終了です。

次のステップ