arrow_back

借助 Firebase 开发无服务器应用:实验室挑战赛

登录 加入
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

借助 Firebase 开发无服务器应用:实验室挑战赛

Lab 1 小时 universal_currency_alt 5 个积分 show_chart 中级
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP344

Google Cloud 自定进度实验

概览

在实验室挑战赛中,我们会为您提供一个场景和一系列任务。您将使用从课程的各个实验中学到的技能自行确定如何完成这些任务,而不是按照分步说明进行操作。自动评分系统(显示在本页面中)会提供有关您是否已正确完成任务的反馈。

在您参加实验室挑战赛期间,我们不会再教授新的 Google Cloud 概念知识。您需要拓展所学的技能,例如通过更改默认值和查看并研究错误消息来更正您自己所犯的错误。

要想获得满分,您必须在该时间段内成功完成所有任务!

我们建议已报名学习借助 Firebase 开发无服务器应用课程的学员参加此实验室挑战赛。准备好接受挑战了吗?

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 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 是一款 NoSQL 文档数据库,是 Firebase 平台的一部分;您可以在其中大规模地轻松存储、同步和查询您的移动应用及 Web 应用的数据。我们设置此实验内容,是为了通过使用 Google Cloud 无服务器基础设施来解决实际场景中的问题。

您将构建以下架构:

应用架构图

任务 1. 创建 Firestore 数据库

在此场景中,您将在 Google Cloud 中创建 Firestore 数据库。下方的概要架构图对总体架构进行了总结。

Firebase 实验室挑战赛架构图

要求:

字段
Cloud Firestore 原生模式
位置

创建 Firestore 数据库

为顺利完成此部分,您需要执行下列任务:

  • 创建 Cloud Firestore 数据库
  • 使用 Firestore 原生模式
  • 添加位置

点击检查我的进度以验证是否完成了上述任务。 创建 Firestore 数据库

任务 2. 填充数据库

在此场景中,您将为数据库填充测试数据。

下方的概要架构图对总体架构进行了总结。

Firebase 实验室挑战赛架构

填充数据库

Firestore 架构示例:

集合 文档 字段
data 70234439 [dataset]

Netflix Shows Dataset 包含以下信息:

字段 说明
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. 若要导入 CSV,请使用节点 pet-theory/lab06/firebase-import-csv/solution/index.js
node index.js netflix_titles_original.csv 注意:请查看 Firestore 界面中的数据,验证 Firestore 数据库已更新。

点击检查我的进度,验证已完成上述任务。 填充 Firestore 数据库

任务 3. 创建 REST API

在此场景中,您将创建一个示例 REST API。

下方的概要架构图对总体架构进行了总结。

Firebase 实验室挑战赛架构图

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 = 从 netflix-dataset-service 复制的网址
  • curl -X GET $SERVICE_URL 应会返回此响应:{"status":"Netflix Dataset! Make a query."}

点击检查我的进度,验证已完成上述任务。 部署并测试 REST API

任务 4. 访问 Firestore API

在此场景中,您将部署更新后的代码修订版本,以访问 Firestore 数据库。

下方的概要架构图对总体架构进行了总结。

Firebase 实验室挑战赛架构图

部署 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 = 从 netflix-dataset-service 复制的网址
  • curl -X GET $SERVICE_URL/2019 应会通过响应提供 JSON 数据集

点击检查我的进度,验证已完成上述任务。 部署并测试 REST API

任务 5. 部署预演前端

在此场景中,您将部署预演前端。

下方的概要架构图对总体架构进行了总结。

Firebase 实验室挑战赛架构图

部署前端

字段
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. 访问前端服务网址。
注意:这里使用了演示数据集来提供屏幕条目。

无服务器网页简介

点击检查我的进度,验证已完成上述任务。 部署预演前端

任务 6. 部署生产环境前端

在此场景中,您将更新预演前端,以使用 Firestore 数据库。

下方的概要架构图对总体架构进行了总结。

Firebase 实验室挑战赛架构图

部署前端

字段
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 数据库的内容。

无服务器网页简介

点击检查我的进度,验证已完成上述任务。 部署生产环境前端

恭喜!

恭喜!在本实验中,您已顺利创建 Firestore 数据库,为其填充数据,创建 REST API,并部署与 Firestore 数据库和 REST API 互动的前端应用。此外,您还学习了如何部署预演及生产环境前端应用。

“借助 Firebase 开发无服务器应用”技能徽章

赢得您的下一个技能徽章

本自学实验是借助 Firebase 开发无服务器应用技能徽章课程的组成部分。完成此技能徽章课程可赢得上面的徽章,以表彰您取得的成就。您可以在简历和社交平台中分享自己的徽章,并使用 #GoogleCloudBadge 让大家知道您取得的这一成就。

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

上次更新手册的时间:2024 年 5 月 2 日

上次测试实验的时间:2024 年 5 月 2 日

版权所有 2024 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。