Datastore モードの Firestore でデータを保存し、クエリを実行する
このページでは、Google Cloud Console で 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
プロジェクトのオーナーではない場合、このクイックスタートを行うにはアカウントに次の権限が必要です。
- アカウントには Datastore オーナーロールが必要です。このロールには、Datastore モードのインスタンスの作成に必要な
datastore.databases.create
権限が含まれています。 - Datastore モードではアクティブな App Engine アプリケーションが必要です。プロジェクトにアプリケーションがない場合は、このクイックスタートによってアプリケーションが作成されます。その場合は、
appengine.applications.create
権限が必要です。プロジェクト オーナーは、IAM カスタムロールを使ってこの権限を割り当てることができます。
- アカウントには Datastore オーナーロールが必要です。このロールには、Datastore モードのインスタンスの作成に必要な
データベースの作成
新しいデータベース インスタンスを作成するには、Google Cloud コンソールの Datastore セクションを開きます。
[Datastore] ページに移動データベース モードを選択します。
新しい Firestore データベースを作成する場合、ネイティブ モードまたは Datastore モードを選択して Firestore を使用できます。同じプロジェクトで両方のモードを併用することはできません。
次のデータベース オプションのいずれかを選択します。
-
ネイティブ モードの Firestore
モバイルアプリとウェブアプリに推奨します。Firestore の使用を開始するには、Firestore クイックスタートに進みます。
-
Datastore モードの Firestore
バックエンド サーバーを使用するアプリ アーキテクチャに推奨します。
データベースの選択に関するガイドと各機能の比較については、ネイティブ モードと Datastore モードからの選択をご覧ください。
-
データベースのロケーションを選択します。Datastore モードでは、マルチリージョン ロケーションとリージョン ロケーションがサポートされます。
マルチリージョン ロケーションでは、可用性と耐久性が最大化されます。リージョン ロケーションでは、書き込みレイテンシが抑えられます。ロケーション タイプの詳細については、Datastore モードのロケーションをご覧ください。このロケーションは、Google Cloud プロジェクトの Datastore モード データベースと App Engine アプリケーションの両方に適用されます。
[データベースを作成] をクリックします。 データベースの初期化が完了すると、Google Cloud コンソールから Datastore の [エンティティ] ページに移動します。
データを保存する
Google Cloud コンソールの Datastore の [エンティティ] ページに移動します。
このページでは、データの保存、クエリ、更新、削除を行えます。
[エンティティを作成] をクリックします。
[エンティティの作成] ページの [名前空間] には
[default]
を使用します。[種類] フィールドに「
Task
」と入力します。[キー ID] はデフォルト値のNumeric ID (auto-generated)
に設定したままにします。[プロパティ] の [プロパティを追加] ボタンをクリックして、以下のプロパティを追加します。
名前 型 値 インデックス登録 description 文字列 Datastore の学習。 created 日時 (今日の日付) ✓ done ブール値 False ✓ [CREATE] をクリックします。作成した
Task
エンティティが Console に表示されます。
これでデータベースにデータが保存されました。
クエリの実行
Datastore モードのデータベースでは、種類または Google Query Language(GQL)によってデータのクエリを実行できます。以下の手順では、両方を使用してデータベースをクエリする方法について説明します。
種類別クエリの実行
- [種類別のクエリ] をクリックします。
- 種類として
Task
を選択します。
クエリの結果として、作成した Task
エンティティが表示されます。
次に、特定の条件に適合するエンティティだけが返されるよう結果を制限するクエリ句を追加します。
- [クエリ句を追加] をクリックします。
- プルダウン リストで、
WHERE
、done
、==
、boolean、false を選択します。 - [実行] をクリックします。作成した
Task
エンティティのdone
の値はfalse
であるため、結果に表示されます。 - クエリ句を
WHERE
、done
、==
、ブール値、正 に変更します。[実行] をクリックします。作成したTask
エンティティのdone
の値はtrue
ではないため、結果には表示されません。
GQL クエリの実行
- [GQL によるクエリ] をクリックします。
- クエリとして「
SELECT * FROM Task
」を入力します。Task
では大文字と小文字が区別されます。 - [クエリを実行] をクリックします。
クエリの結果として、作成した Task
エンティティが表示されます。
特定の条件に適合するエンティティだけが返されるように、結果を制限するクエリフィルタを追加します。
SELECT * FROM Task WHERE done=false
のようなクエリを実行します。Task
とdone
では大文字と小文字が区別されます。作成したTask
エンティティのdone
の値はfalse
であるため、結果に表示されます。SELECT * FROM Task WHERE done=true
のようなクエリを実行します。作成したTask
エンティティのdone
の値はtrue
ではないため、結果には表示されません。
クリーンアップ
- [種類別のクエリ] をクリックし、選択された種類が
Task
であることを確認します。 - [クリア] をクリックして、クエリ句を削除します。
- 作成した
Task
エンティティを選択します。 - [削除] をクリックして、
Task
エンティティを削除することを確認します。ブラウザ ウィンドウのサイズによっては、 [その他の操作] メニューに [削除] が表示される場合があります。削除すると、このエンティティがデータベースから完全に削除されます。
これでクイックスタートの演習はすべて終了です。
次のステップ
- Datastore クエリについて学習する。
- Datastore モードのデータベースについて学習する。