arrow_back

使用 Firebase 開發無伺服器應用程式:挑戰實驗室

登录 加入
访问 700 多个实验和课程

使用 Firebase 開發無伺服器應用程式:挑戰實驗室

实验 1 小时 universal_currency_alt 5 积分 show_chart 中级
info 此实验可能会提供 AI 工具来支持您学习。
访问 700 多个实验和课程

GSP344

總覽

在挑戰研究室中,您會在特定情境下完成一系列任務。挑戰研究室不會提供逐步說明,您將運用從課程研究室學到的技巧,自行找出方法完成任務!自動評分系統 (如本頁所示) 將根據您是否正確完成任務來提供意見回饋。

在您完成任務的期間,挑戰研究室不會介紹新的 Google Cloud 概念。您須靈活運用所學技巧,例如變更預設值或詳讀並研究錯誤訊息,解決遇到的問題。

若想滿分達標,就必須在時限內成功完成所有任務!

這個實驗室適合使用 Firebase 開發無伺服器應用程式課程的學員。準備好迎接挑戰了嗎?

設定和需求

瞭解以下事項後,再點選「Start Lab」按鈕

請詳閱以下操作說明。實驗室活動會計時,且中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。

您將在真正的雲端環境完成實作實驗室活動,而不是模擬或示範環境。為此,我們會提供新的暫時憑證,供您在實驗室活動期間登入及存取 Google Cloud。

為了順利完成這個實驗室,請先確認:

  • 可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
注意事項:請使用無痕模式 (建議選項) 或私密瀏覽視窗執行此實驗室,這可以防止個人帳戶和學員帳戶之間的衝突,避免個人帳戶產生額外費用。
  • 是時候完成實驗室活動了!別忘了,活動一旦開始將無法暫停。
注意事項:務必使用實驗室專用的學員帳戶。如果使用其他 Google Cloud 帳戶,可能會產生額外費用。

佈建環境

  1. 連結專案:
gcloud config set project $(gcloud projects list --format='value(PROJECT_ID)' --filter='qwiklabs-gcp')
  1. 複製存放區:
git clone https://github.com/rosera/pet-theory.git

挑戰情境

在這個實驗室,您會運用 REST API 和 Firestore 資料庫來建立前端解決方案。Cloud Firestore 是 Firebase 平台中的 NoSQL 文件資料庫,可以大規模儲存、同步處理及查詢行動與網頁應用程式的資料。目標為使用 Google Cloud 無伺服器基礎架構,解決實際問題。

您會建立以下架構:

工作 1:建立 Firestore 資料庫

在這個情境中,請以 Google Cloud 建立 Firestore 資料庫。下方的概略架構圖總結呈現了一般架構。

需求條件:

欄位
Cloud Firestore 原生模式
位置

建立 Firestore 資料庫

為順利完成這個部分,請執行下列工作:

  • 建立 Cloud Firestore 資料庫
  • 使用 Firestore (原生模式)
  • 新增 位置

點選「Check my progress」,確認上述工作已完成。建立 Firestore 資料庫

工作 2:填充資料庫

在這個情境中,請將測試資料填入資料庫。

下方的概略架構圖總結呈現了一般架構。

填充資料庫

Firestore 結構定義示例:

集合 文件 欄位
data 70234439 [dataset]

Netflix Shows 資料集含有下列資訊:

欄位 說明
show_id: 各電影/電視節目的專屬 ID
type: 辨別是電影或電視節目
title: 電影/電視節目的名稱
director: 電影導演
cast: 電影/節目的演員
country: 製作該電影/節目的國家/地區
date_added: 新增至 Netflix 的日期
release_year: 電影/節目的實際上映年份
rating: 電影/節目的分級
duration: 內容總長度,單位為分鐘或季數

為順利完成這個部分,請執行下列工作:

  1. 使用 pet-theory/lab06/firebase-import-csv/solution 中的程式碼範例:
npm install
  1. 使用節點 pet-theory/lab06/firebase-import-csv/solution/index.js 來匯入 CSV:
node index.js netflix_titles_original.csv 注意事項:請查看 Firestore UI 中的資料,確認 Firebase 資料庫已更新完畢。

點選「Check my progress」,確認上述工作已完成。填充 Firebase 資料庫

工作 3:建立 REST API

在這個情境中,請建立範例 REST API。

下方的概略架構圖總結呈現了一般架構。

Cloud Run 部署作業

欄位
Container Registry 映像檔 rest-api:0.1
Cloud Run 服務 netflix-dataset-service
權限 --allow-unauthenticated

為順利完成這個部分,請執行下列工作:

  1. 存取 pet-theory/lab06/firebase-rest-api/solution-01
  2. 建立程式碼並部署至 Google Container Registry。
  3. 以 Cloud Run 服務的形式部署映像檔。
注意事項:部署服務時最多使用 1 個執行個體,以免超過 Cloud Run 執行個體數量上限。
  1. 點選 Cloud Run 中的「netflix-dataset-service」,然後複製服務網址:
  • SERVICE_URL=copy url from your netflix-dataset-service
  • curl -X GET $SERVICE_URL 應會回應 {"status":"Netflix Dataset! Make a query."}

點選「Check my progress」,確認上述工作已完成。部署並測試 REST API

工作 4:Firestore API 存取權

在這個情境中,請部署修訂後的新版程式碼,以便存取 Firestore 資料庫。

下方的概略架構圖總結呈現了一般架構。

部署修訂後的 Cloud Run 服務 (版本 0.2)

欄位
Container Registry 映像檔 rest-api:0.2
Cloud Run 服務 netflix-dataset-service
權限 --allow-unauthenticated

為順利完成這個部分,請執行下列工作:

  1. 存取 pet-theory/lab06/firebase-rest-api/solution-02
  2. 建構新版應用程式。
  3. 使用 Cloud Build 標記修訂版映像檔,並部署至 Container Registry。
  4. 以 Cloud Run 服務的形式部署新的映像檔。
注意事項:部署服務時最多使用 1 個執行個體,以免超過 Cloud Run 執行個體數量上限。
  1. 點選 Cloud Run 中的「netflix-dataset-service」,然後複製服務網址:
  • SERVICE_URL=copy url from your netflix-dataset-service
  • curl -X GET $SERVICE_URL/2019 應會透過回應提供 JSON 資料集

點選「Check my progress」,確認上述工作已完成。部署並測試 REST API

工作 5:部署測試環境前端

在這個情境中,請部署測試環境前端。

下方的概略架構圖總結呈現了一般架構。

部署前端

欄位
REST_API_SERVICE REST API 服務網址
Container Registry 映像檔 frontend-staging:0.1
Cloud Run 服務 frontend-staging-service

為順利完成這個部分,請執行下列工作:

  1. 存取 pet-theory/lab06/firebase-frontend
  2. 建構前端測試環境應用程式。
  3. 使用 Cloud Build 標記修訂版映像檔,並部署至 Container Registry。
  4. 以 Cloud Run 服務的形式部署新的映像檔。
注意事項:部署服務時最多使用 1 個執行個體,以免超過 Cloud Run 執行個體數量上限。
  1. 設定前端的 REST API 和 Firestore 資料庫存取權。
  2. 存取前端服務網址。
注意事項:此處以示範資料集呈現畫面中的項目。

點選「Check my progress」,確認上述工作已完成。部署測試環境前端

工作 6:部署正式環境前端

在這個情境中,請將測試環境前端更新為使用 Firestore 資料庫。

下方的概略架構圖總結呈現了一般架構。

部署前端

欄位
REST_API_SERVICE REST API 服務網址
Container Registry 映像檔 frontend-production:0.1
Cloud Run 服務 frontend-production-service

為順利完成這個部分,請執行下列工作:

  1. 存取 pet-theory/lab06/firebase-frontend/public
  2. 將前端應用程式 (即 app.js) 更新為使用 REST API。
  3. 別忘了在 SERVICE_URL 後方加上年份。
  4. 使用 Cloud Build 標記修訂版映像檔,並部署至 Container Registry。
  5. 以 Cloud Run 服務的形式部署新的映像檔。注意事項:部署服務時最多使用 1 個執行個體,以免超過 Cloud Run 執行個體數量上限。
  6. 設定前端的 REST API 和 Firestore 資料庫存取權。

服務已部署完畢,您可以透過前端服務查看 Firestore 資料庫的內容。

點選「Check my progress」,確認上述工作已完成。部署正式環境前端

恭喜!

恭喜!在這個實驗室,您成功建立了 Firestore 資料庫、填入資料、建立 REST API,並部署可以與 Firestore 資料庫和 REST API 互動的前端應用程式。您也學到了如何部署測試環境和正式環境的前端應用程式。

取得下一枚技能徽章

這個自修實驗室屬於使用 Firebase 開發無伺服器應用程式技能徽章課程的一部分。完成這個課程即可獲得上方的徽章,表彰您的成就。您可以在履歷表和社群平台張貼徽章,並加上 #GoogleCloudBadge 公開這項成就。

Google Cloud 教育訓練與認證

協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。

使用手冊上次更新日期:2024 年 5 月 2 日

實驗室上次測試日期:2024 年 5 月 2 日

Copyright 2025 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

请使用无痕模式或无痕式浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。