チェックポイント
Firestore Database Create
/ 10
Firestore Database Populate
/ 10
Cloud Build Rest API Staging
/ 20
Cloud Build Rest API Production
/ 20
Cloud Build Frontend Staging
/ 20
Cloud Build Frontend Production
/ 20
Firebase を使用したサーバーレス アプリの開発: チャレンジラボ
GSP344
概要
チャレンジラボでは、シナリオと一連のタスクが提供されます。手順ガイドに沿って進める形式ではなく、コース内のラボで習得したスキルを駆使して、ご自身でタスクを完了していただきます。タスクが適切に完了したかどうかは、このページに表示される自動スコアリング システムで確認できます。
チャレンジラボは、Google Cloud の新しいコンセプトについて学習するためのものではありません。デフォルト値を変更する、エラー メッセージを読み調査を行ってミスを修正するなど、習得したスキルを応用する能力が求められます。
100% のスコアを達成するには、制限時間内に全タスクを完了する必要があります。
このラボは、「Develop Serverless Apps with Firebase」コースに登録している受講者を対象としています。準備が整ったらチャレンジを開始しましょう。
設定と要件
[ラボを開始] ボタンをクリックする前に
こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。
このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
- 標準的なインターネット ブラウザ(Chrome を推奨)
- ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
環境のプロビジョニング
- プロジェクトへのリンク:
- リポジトリのクローン作成:
チャレンジ シナリオ
このラボでは、REST API と Firestore データベースを使用してフロントエンド ソリューションを作成します。Cloud Firestore は Firebase プラットフォームの一部となる NoSQL ドキュメント データベースであり、ここでモバイルやウェブアプリのデータを大規模に格納、同期、クエリできます。ラボの内容は Google Cloud サーバーレス インフラストラクチャを使用して実際のシナリオを解決する作業に基づいています。
次のアーキテクチャを構築します。
タスク 1. Firestore データベースを作成する
このシナリオでは Google Cloud に Firestore データベースを作成します。以下のアーキテクチャ概要図は、一般的なアーキテクチャの概略を示しています。
要件:
項目 | 値 |
---|---|
Cloud Firestore | ネイティブ モード |
ロケーション |
Firestore データベースを作成する
このセクションを正常に完了するには、次のタスクを実装する必要があります。
- Cloud Firestore データベースを実装する
- Firestore ネイティブ モードを使用する
- ロケーション
を追加する
[進行状況を確認] をクリックして、上記のタスクを実行したことを確認します。
タスク 2. データベースにデータを入力する
このシナリオではテストデータを使用してデータベースにデータを入力します。
以下のアーキテクチャ概要図は、一般的なアーキテクチャの概略を示しています。
データベースにデータを入力する
Firestore のサンプル スキーマ:
コレクション | ドキュメント | 項目 |
---|---|---|
data | 70234439 | [dataset] |
Netflix 番組データセットには、以下の情報が含まれています。
項目 | 説明 |
---|---|
show_id: | 映画やテレビ番組の一意の ID |
type: | 識別子 - 映画かテレビ番組か |
title: | 映画やテレビ番組のタイトル |
director: | 映画の監督 |
cast: | 映画や番組に出演している俳優 |
country: | 映画や番組が製作された国 |
date_added: | Netflix に追加された日付 |
release_year: | 映画や番組が実際に公開された年 |
rating: | 映画や番組のテレビ レーティング |
duration: | 全体の期間 - 分単位またはシーズン数 |
このセクションを正常に完了するには、次のタスクを実装する必要があります。
-
pet-theory/lab06/firebase-import-csv/solution
のサンプルコードを使用する
- ノード
pet-theory/lab06/firebase-import-csv/solution/index.js
を使用して CSV をインポートする
[進行状況を確認] をクリックして、上記のタスクを実行したことを確認します。
タスク 3. REST API を作成する
このシナリオでは REST API のサンプルを作成します。
以下のアーキテクチャ概要図は、一般的なアーキテクチャの概略を示しています。
Cloud Run 開発
項目 | 値 |
---|---|
Container Registry のイメージ | rest-api:0.1 |
Cloud Run サービス | netflix-dataset-service |
権限 | --allow-unauthenticated |
このセクションを正常に完了するには、次のタスクを実装する必要があります。
-
pet-theory/lab06/firebase-rest-api/solution-01
にアクセスする。 - コードを構築して Google Container Registry にデプロイする。
- イメージを Cloud Run サービスとしてデプロイする。
- Cloud Run に移動し、netflix-dataset-service をクリックして、サービス URL をコピーします。
SERVICE_URL=copy url from your
netflix-dataset-service
-
curl -X GET $SERVICE_URL
に対して次の応答が返されることを確認する: {"status":"Netflix Dataset! Make a query."}
[進行状況を確認] をクリックして、上記のタスクを実行したことを確認します。
タスク 4. Firestore API にアクセスする
このシナリオでは、コードのアップデートされたリビジョンをデプロイして Firestore DB にアクセスします。
以下のアーキテクチャ概要図は、一般的なアーキテクチャの概略を示しています。
Cloud Run リビジョン 0.2 をデプロイする
項目 | 値 |
---|---|
Container Registry のイメージ | rest-api:0.2 |
Cloud Run サービス | netflix-dataset-service |
権限 | --allow-unauthenticated |
このセクションを正常に完了するには、次のタスクを実装する必要があります。
-
pet-theory/lab06/firebase-rest-api/solution-02
にアクセスする。 - アップデートされたアプリケーションを構築する。
- Cloud Build を使用してイメージ リビジョンにタグ付けし、Container Registry にデプロイする。
- 新しいイメージを Cloud Run サービスとしてデプロイする。
- Cloud Run に移動し、netflix-dataset-service をクリックして、サービス URL をコピーします。
SERVICE_URL=copy url from your
netflix-dataset-service
-
curl -X GET $SERVICE_URL/2019
への応答として json データセットを取得する
[進行状況を確認] をクリックして、上記のタスクを実行したことを確認します。
タスク 5. ステージング フロントエンドをデプロイする
このシナリオではステージング フロントエンドをデプロイします。
以下のアーキテクチャ概要図は、一般的なアーキテクチャの概略を示しています。
フロントエンドをデプロイする
項目 | 値 |
---|---|
REST_API_SERVICE | REST API サービス URL |
Container Registry のイメージ | frontend-staging:0.1 |
Cloud Run サービス | frontend-staging-service |
このセクションを正常に完了するには、次のタスクを実装する必要があります。
-
pet-theory/lab06/firebase-frontend
にアクセスする。 - フロントエンド ステージング アプリケーションを構築する。
- Cloud Build を使用してイメージ リビジョンにタグ付けし、Container Registry にデプロイする。
- 新しいイメージを Cloud Run サービスとしてデプロイする。
- REST API と Firestore データベースにフロントエンド アクセスする。
- フロントエンド サービス URL にアクセスする。
[進行状況を確認] をクリックして、上記のタスクを実行したことを確認します。
タスク 6. 本番環境フロンドエンドをデプロイする
このシナリオでは Firestore データベースを使用するようにステージング フロントエンドを更新します。
以下のアーキテクチャ概要図は、一般的なアーキテクチャの概略を示しています。
フロントエンドをデプロイする
項目 | 値 |
---|---|
REST_API_SERVICE | REST API サービス URL |
Container Registry のイメージ | frontend-production:0.1 |
Cloud Run サービス | frontend-production-service |
このセクションを正常に完了するには、次のタスクを実装する必要があります。
-
pet-theory/lab06/firebase-frontend/public
にアクセスする。 - REST API を使用するようにフロントエンド アプリケーション(
app.js
)を更新する。 - SERVICE_URL に必ず年を追加する。
- Cloud Build を使用してイメージ リビジョンにタグ付けし、Container Registry にデプロイする。
- 新しいイメージを Cloud Run サービスとしてデプロイする。
注: 最大インスタンス数が 1 のサービスをデプロイして、Cloud Run インスタンスの上限を超えないようにします。 - REST API と Firestore データベースにフロントエンド アクセスする。
サービスをデプロイしたので、フロントエンド サービスを使用して Firestore データベースのコンテンツを参照できます。
[進行状況を確認] をクリックして、上記のタスクを実行したことを確認します。
お疲れさまでした
これで完了です。このラボでは、Firestore データベースを作成してデータを入力し、REST API を作成し、Firestore データベースや REST API とやり取りするフロントエンド アプリケーションをデプロイしました。また、ステージング環境と本番環境のフロントエンド アプリケーションをデプロイする方法についても学習しました。
次のスキルバッジを獲得する
このセルフペース ラボは、「Develop Serverless Apps with Firebase」スキルバッジ コースの一部です。このコースを完了すると成果が認められて上のようなバッジが贈られます。獲得したバッジを履歴書やソーシャル プラットフォームに記載し、#GoogleCloudBadge を使用して成果を公表しましょう。
Google Cloud トレーニングと認定資格
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2024 年 5 月 2 日
ラボの最終テスト日: 2024 年 5 月 2 日
Copyright 2024 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。