リージョン ID
REGION_ID
は、アプリの作成時に選択したリージョンに基づいて Google が割り当てる省略形のコードです。一部のリージョン ID は、一般的に使用されている国や州のコードと類似しているように見える場合がありますが、このコードは国または州に対応するものではありません。2020 年 2 月以降に作成されたアプリの場合、REGION_ID.r
が App Engine の URL に含まれています。この日付より前に作成されたアプリの場合、URL のリージョン ID は省略可能です。
詳しくは、リージョン ID をご覧ください。
ウェブサービスを更新し、Datastore モード(Datastore)の Firestore でデータに接続して処理します。Datastore クライアント ライブラリを使用して、ウェブサービスを Datastore に接続します。Datastore は、自動スケーリング、高性能、アプリケーション開発の簡素化のために構築された非リレーショナル(NoSQL)データベースです。
このステップでは、ページ リクエスト データを Datastore に保存し、直近 10 回のページ リクエストの一覧が表示されるように、ウェブサービスを更新します。ここでは、Firebase Authentication を追加して、認証済みユーザーのデータ ストレージをカスタマイズする前に、ウェブサービスに対してデータ ストレージが機能するようにします。
始める前に
このガイドでこれまでのステップをすべて完了している場合は、このセクションをスキップできます。それ以外の場合は、次のいずれかを実行してください。
Python 3 アプリのビルドから始めて、ここまでのステップをすべて完了します。
Google Cloud プロジェクトがすでにある場合は、ウェブサービスのコピーをダウンロードすれば続行できます。
Git を使用してサンプル アプリケーション リポジトリをダウンロードします。
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
または、zip 形式のサンプルをダウンロードして展開します。
前のステップで用意したファイルのコピーがあるディレクトリに移動します。
cd python-docs-samples/appengine/standard_python3/building-an-app/building-an-app-1
Datastore API を有効にします。
gcloud services enable datastore.googleapis.com
Datastore エンティティの保存と取得
次のように、Datastore エンティティとしてサイト リクエスト時間を保存および取得します。
main.py
ファイルに次のコードを追加します。上記の
store_time
メソッドでは、Datastore クライアント ライブラリを使用して、Datastore 内に新しいエンティティを作成しています。Datastore エンティティは、キーとプロパティで構成されたデータ オブジェクトです。この場合、エンティティのキーはカスタムの kind であるvisit
です。エンティティにはtimestamp
というプロパティがあり、ページ リクエストの時間が含まれています。fetch_times
メソッドは、キーvisit
を使用して最近の 10 個のvisit
エンティティを求めるクエリをデータベースに対して実行し、これらのエンティティを降順でリストに保存します。root
メソッドを更新して新しいメソッドを呼び出します。templates/index.html
ファイルを更新して各エンティティのtimestamp
を出力します。requirements.txt
ファイルに必要な依存関係がすべて含まれていることを確認します。
Datastore のエンティティ、プロパティ、キーの詳細については、エンティティ、プロパティ、キーをご覧ください。Datastore クライアント ライブラリの使用の詳細については、Datastore クライアント ライブラリをご覧ください。
ウェブサービスをテストする
ウェブサービスを仮想環境でローカルに実行してテストします。
プロジェクトのメイン ディレクトリで次のコマンドを実行して、新しい依存関係をインストールし、ウェブサービスを実行します。ローカルテスト用に仮想環境を設定していない場合は、ウェブサービスのテストをご覧ください。
pip install -r requirements.txt python main.py
ウェブサービスを表示するには、ウェブブラウザに次のアドレスを入力します。
http://localhost:8080
ウェブサービスで作成されたエンティティは、Google Cloud Console で表示できます。
ウェブサービスをデプロイする
Datastore をローカルで使用できるようになったので、次にウェブサービスを App Engine にデプロイする方法を学習します。
プロジェクトのルート ディレクトリから次のコマンドを実行します。ここで、app.yaml
ファイルは次の場所にあります。
gcloud app deploy
すべてのトラフィックは、デプロイした新しいバージョンに自動的にルーティングされます。
バージョン管理の詳細については、サービスとバージョンの管理をご覧ください。
サービスを表示する
ブラウザを速やかに起動して https://PROJECT_ID.REGION_ID.r.appspot.com
でウェブサービスにアクセスするには、次のコマンドを実行します。
gcloud app browse
次のステップ
Datastore をウェブサービスで使用できるようになったので、次にウェブサービスに Firebase を追加する方法を学習します。