Cloud Datastore の使用

Cloud Datastore は、自動スケーリングと高パフォーマンスを実現し、アプリケーション開発を簡素化するように構築された NoSQL ドキュメント データベースです。

App Engine での Datastore の使用

App Engine で Cloud Datastore を使用するには:

  1. まだ作成していない場合は、データベースを作成します。

    新しいデータベースを作成する場合は、Datastore モードの Cloud Firestore を選択します。Cloud Firestore は、Cloud Datastore のリブランディングとなる次期メジャー バージョンです。 主に App Engine で使用するデータベースには、Datastore モードが推奨されます。

    App Engine アプリでは既存の Cloud Datastore データベースを使用できます。既存の Cloud Datastore データベースは Datastore モードの Cloud Firestore に自動的にアップグレードされます。

  2. ライブラリをアプリの依存関係ファイルに追加して、アプリ内で Cloud Datastore を依存関係として宣言します。

  3. Google Cloud クライアント ライブラリを使用して、エンティティの読み取り / 書き込みデータのクエリを行います。

インデックスの構成

Cloud Datastore はアプリケーションからのすべてのクエリにインデックスを使用します。インデックスはエンティティが変更されるたびに更新されるので、アプリからのクエリに対してすばやく結果を返すことができます。

Cloud Datastore は、単純な種類のクエリで使用する単一プロパティのインデックスを自動的に作成します。複数のプロパティを含む複雑なクエリについては、アプリの index.yaml ファイル内に複合インデックスを構成する必要があります。

App Engine 開発用サーバーにより、index.yaml ファイルはテストを実行するために必要な複合インデックスで更新されます。同様に、テストを実行する際は Cloud Datastore エミュレータでインデックスを生成できます

ローカルテストを実行しない場合や、テストに複雑なクエリが含まれていない場合は、アプリの index.yaml ファイル(/appengine/docs/standard/java/configuring-datastore-indexes-with-index-yaml)に手動でインデックスを追加することもできます。

データベース権限の設定

デフォルトでは、Google Cloud Platform プロジェクト内の Cloud Datastore データベースと Cloud Firestore データベースに対して読み取り / 書き込みを行うために必要なすべての権限がアプリに付与されます。

これらの権限を管理するために、App Engine アプリのそれぞれがデフォルトのサービス アカウントを使用します。デフォルトのサービス アカウントにより、アプリには同じプロジェクト内にある Cloud Datastore データベースと Cloud Firestore データベースに対して読み取り / 書き込みを行うための完全アクセス権が与えられます。デフォルトのサービス アカウントの権限を変更することはできますが、必要な権限を IAM 役割に割り当てない限り、アプリがデータベースにアクセスできなくなる可能性があります。

他のユーザー、アプリ、プロジェクトにデータベースへのアクセスを許可する方法については、データベースへのアクセスをご覧ください。

ローカルテストでの Cloud Datastore エミュレータの使用

Cloud SDK for Java には、パソコン上でアプリケーションをテストするためのローカル開発用サーバーが含まれています。ローカル開発用サーバーは、App Engine の Java Runtime Environment と、Cloud Datastore を含むすべてのサービスをエミュレートします。

開発用サーバーは、テスト中にアプリケーションが実行するクエリに基づいて、そのアプリケーションに必要な Cloud Datastore インデックスの構成を生成します。

料金、割り当て、上限

Cloud Datastore では、一定の割り当て量を無料で使用できます(1 日の使用量に上限があります)。有料アカウントの場合には、保存、読み取り、書き込みオペレーションを無制限で行うことができます。詳細については、データストアの割り当てをご覧ください。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Java 8 の App Engine スタンダード環境