检查点
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 概念知识。您需要拓展所学的技能,例如通过更改默认值和查看并研究错误消息来更正您自己所犯的错误。
要想获得满分,您必须在该时间段内成功完成所有任务!
我们建议已报名学习借助 Firebase 开发无服务器应用课程的学员参加此实验室挑战赛。准备好接受挑战了吗?
设置和要求
点击“开始实验”按钮前的注意事项
请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。
此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。我们会为您提供新的临时凭据,让您可以在实验规定的时间内用来登录和访问 Google Cloud。
为完成此实验,您需要:
- 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
- 完成实验的时间 - 请注意,实验开始后无法暂停。
配置相关环境
- 链接到相应项目:
- 克隆代码库:
挑战场景
在此实验中,您将使用 REST API 和 Firestore 数据库创建前端解决方案。Cloud Firestore 是一款 NoSQL 文档数据库,是 Firebase 平台的一部分;您可以在其中大规模地轻松存储、同步和查询您的移动应用及 Web 应用的数据。我们设置此实验内容,是为了通过使用 Google Cloud 无服务器基础设施来解决实际场景中的问题。
您将构建以下架构:
任务 1. 创建 Firestore 数据库
在此场景中,您将在 Google Cloud 中创建 Firestore 数据库。下方的概要架构图对总体架构进行了总结。
要求:
字段 | 值 |
---|---|
Cloud Firestore | 原生模式 |
位置 |
创建 Firestore 数据库
为顺利完成此部分,您需要执行下列任务:
- 创建 Cloud Firestore 数据库
- 使用 Firestore 原生模式
- 添加位置
点击检查我的进度以验证是否完成了上述任务。
任务 2. 填充数据库
在此场景中,您将为数据库填充测试数据。
下方的概要架构图对总体架构进行了总结。
填充数据库
Firestore 架构示例:
集合 | 文档 | 字段 |
---|---|---|
data | 70234439 | [dataset] |
Netflix Shows Dataset 包含以下信息:
字段 | 说明 |
---|---|
show_id: | 每部电影/电视节目的唯一 ID |
type: | 标识符 - 电影或电视节目 |
title: | 电影/电视节目的名称 |
director: | 电影的导演 |
cast: | 参与电影/电视节目的演员 |
country: | 电影/电视节目制作时所处的国家/地区 |
date_added: | 在 Netflix 上架的日期 |
release_year: | 电影/电视节目的实际上映年份 |
rating: | 电影/电视节目的评分 |
duration: | 总时长 - 以分钟数或剧季数计 |
为顺利完成此部分,您需要执行以下任务:
- 使用来自
pet-theory/lab06/firebase-import-csv/solution
的示例代码:
- 若要导入 CSV,请使用节点
pet-theory/lab06/firebase-import-csv/solution/index.js
:
点击检查我的进度,验证已完成上述任务。
任务 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,然后复制服务网址:
SERVICE_URL = 从
netflix-dataset-service
复制的网址-
curl -X GET $SERVICE_URL
应会返回此响应:{"status":"Netflix Dataset! Make a query."}
点击检查我的进度,验证已完成上述任务。
任务 4. 访问 Firestore API
在此场景中,您将部署更新后的代码修订版本,以访问 Firestore 数据库。
下方的概要架构图对总体架构进行了总结。
部署 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,然后复制服务网址:
SERVICE_URL = 从
netflix-dataset-service
复制的网址-
curl -X GET $SERVICE_URL/2019
应会通过响应提供 JSON 数据集
点击检查我的进度,验证已完成上述任务。
任务 5. 部署预演前端
在此场景中,您将部署预演前端。
下方的概要架构图对总体架构进行了总结。
部署前端
字段 | 值 |
---|---|
REST_API_SERVICE | REST API 服务网址 |
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 数据库。
- 访问前端服务网址。
点击检查我的进度,验证已完成上述任务。
任务 6. 部署生产环境前端
在此场景中,您将更新预演前端,以使用 Firestore 数据库。
下方的概要架构图对总体架构进行了总结。
部署前端
字段 | 值 |
---|---|
REST_API_SERVICE | REST API 服务网址 |
Container Registry 映像 | frontend-production:0.1 |
Cloud Run 服务 | frontend-production-service |
为顺利完成此部分,您需要执行以下任务:
- 访问
pet-theory/lab06/firebase-frontend/public
。 - 将前端应用(即
app.js
)更新为使用 REST API。 - 不要忘记将年份信息附加到 SERVICE_URL。
- 使用 Cloud Build 标记映像修订版本并将其部署到 Container Registry。
- 将新映像部署为 Cloud Run 服务。
注意:部署服务时最多只能使用 1 个实例,以确保不超过 Cloud Run 实例数上限。 - 通过前端访问 REST API 和 Firestore 数据库。
现在,该服务已部署完成,您将能够使用前端服务查看 Firestore 数据库的内容。
点击检查我的进度,验证已完成上述任务。
恭喜!
恭喜!在本实验中,您已顺利创建 Firestore 数据库,为其填充数据,创建 REST API,并部署与 Firestore 数据库和 REST API 互动的前端应用。此外,您还学习了如何部署预演及生产环境前端应用。
赢得您的下一个技能徽章
本自学实验是借助 Firebase 开发无服务器应用技能徽章课程的组成部分。完成此技能徽章课程可赢得上面的徽章,以表彰您取得的成就。您可以在简历和社交平台中分享自己的徽章,并使用 #GoogleCloudBadge 让大家知道您取得的这一成就。
Google Cloud 培训和认证
…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
上次更新手册的时间:2024 年 5 月 2 日
上次测试实验的时间:2024 年 5 月 2 日
版权所有 2024 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。