リージョン ID
REGION_ID
は、アプリの作成時に選択したリージョンに基づいて Google が割り当てる省略形のコードです。一部のリージョン ID は、一般的に使用されている国や州のコードと類似しているように見える場合がありますが、このコードは国または州に対応するものではありません。2020 年 2 月以降に作成されたアプリの場合、REGION_ID.r
は App Engine の URL に含まれています。この日付より前に作成されたアプリの場合、URL のリージョン ID は省略可能です。
詳しくは、リージョン ID をご覧ください。
ウェブサービスを更新し、Datastore モードの Firestore(Datastore)でデータに接続して処理します。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 エンティティの保存と読み込み
次のように、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 コンソールで表示できます。
ウェブサービスのデプロイ
Datastore をローカルで使用できるようになったので、次にウェブサービスを App Engine にデプロイする方法を学習します。
プロジェクトのルート ディレクトリから次のコマンドを実行します。ここで、app.yaml
ファイルは次の場所にあります。
gcloud app deploy
すべてのトラフィックは、デプロイした新しいバージョンに自動的にルーティングされます。
バージョン管理の詳細については、サービスとバージョンの管理をご覧ください。
サービスの表示
ブラウザを速やかに起動して https://PROJECT_ID.REGION_ID.r.appspot.com
でウェブサービスにアクセスするには、次のコマンドを実行します。
gcloud app browse
次のステップ
Datastore をウェブサービスで使用できるようになったので、次にウェブサービスに Firebase を追加する方法を学習します。