arrow_back

API Gateway 使用入门:实验室挑战赛

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

API Gateway 使用入门:实验室挑战赛

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

ARC109

Google Cloud 自学实验的徽标

概览

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

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

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

设置

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

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式(推荐)或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:请仅使用学生账号完成本实验。如果您使用其他 Google Cloud 账号,则可能会向该账号收取费用。

挑战场景

您刚开始担任初级数据分析师一职。目前,您主要协助各团队创建、管理后端数据资源,并支持资源访问相关工作。

您应该掌握了完成这些任务所需的技能和知识。

您的挑战

您需要帮助新组建的开发团队完成一个新项目的一些初始工作。这个项目的目标是将后端服务公开为 API。您的任务是协助他们使用 API Gateway 开展相关工作,需要完成的具体任务如下:

  • 使用 Cloud Run 函数开发后端系统。
  • 使用全托管式网关部署和管理用于公开后端服务的 API。
  • 订阅发布到 Pub/Sub 主题的消息,以对事件做出反应。

下文说明了您的每项任务,祝您好运!

任务 1. 创建 Cloud Run 函数

注意 :Cloud Run functions (第 2 代) 依赖于 Cloud Run Admin API 运行。在本实验开始时,系统已为您启用所需 Cloud Run Admin API,但所有已启用服务的配置生效可能需要几分钟时间。因此,如果您在部署 Cloud Run 函数时遇到问题,请等待几分钟后再尝试操作。

使用 Node.js 22 区域中创建一个名为 gcfunction 的新 Cloud Run 函数(第 2 代),并允许进行未经身份验证的调用。现在,只需让函数在被调用时返回“Hello World!”即可。

点击检查我的进度以验证是否完成了以下目标: 创建 Cloud Run 函数。

任务 2. 创建 API 网关

部署 Cloud Run 函数后,配置一个 API 网关以将请求代理到后端。

使用下面的代码创建名为 openapispec.yaml 的文件,在文件中引用在任务 1 中部署的 Cloud Run 函数。

使用 openapispec.yaml 部署具有以下属性的 API 网关:

名称
显示名称 gcfunction API(所有要求填写的位置均需填入)
API ID gcfunction-api
选择服务账号 Compute Engine 默认服务账号
位置
配置名称 gcfunction-api
swagger: '2.0' info: title: gcfunction API description: Sample API on API Gateway with a Google Cloud Run functions backend version: 1.0.0 schemes: - https produces: - application/json x-google-backend: address: https://gcfunction-{{{ project_0.startup_script.project_number | PROJECT_NUMBER }}}.{{{project_0.default_region | REGION}}}.run.app paths: /gcfunction: get: summary: gcfunction operationId: gcfunction responses: '200': description: A successful response schema: type: string 注意:创建网关操作需要几分钟(约 10 分钟)才能完成。如需查看创建和部署过程的状态,您可以点击顶部主导航栏中的“通知”图标(铃铛图标)以显示状态通知。请确保正在创建网关“gcfunction API”的图标状态旁边有绿色对勾标记,然后再继续操作。

点击检查我的进度以验证是否完成了以下目标: 创建 API 网关。

任务 3. 创建 Pub/Sub 主题并通过 API 后端发布消息

开发团队希望 API 后端将消息发布到名为 demo-topic 的新 Pub/Sub 主题。

请创建新的 Pub/Sub 主题 (demo-topic),并在之前部署的 Cloud Run 函数中向该主题推送消息。创建主题时,请务必启用创建默认订阅的选项。

请使用下面的代码段更新在任务 1 中所部署 Cloud Run 函数中的 package.json 文件和 index.js 代码。

package.json

{ "dependencies": { "@google-cloud/functions-framework": "^3.0.0", "@google-cloud/pubsub": "^3.4.1" } }

index.js

/** * Responds to any HTTP request. * * @param {!express:Request} req HTTP request context. * @param {!express:Response} res HTTP response context. */ const {PubSub} = require('@google-cloud/pubsub'); const pubsub = new PubSub(); const topic = pubsub.topic('demo-topic'); const functions = require('@google-cloud/functions-framework'); exports.helloHttp = functions.http('helloHttp', (req, res) => { // Send a message to the topic topic.publishMessage({data: Buffer.from('Hello from Cloud Run functions!')}); res.status(200).send("Message sent to Topic demo-topic!"); });

更新 index.jspackage.json 文件后,重新部署 Cloud Run 函数。

接下来,通过 API Gateway 调用 Cloud Run 函数。如果顺利完成,系统会将一条消息发布到您在此任务中创建的主题 demo-topic

注意:调用 API Gateway 端点后,发布的消息需要几分钟(约 5 分钟)才会显示在订阅的“消息”部分中。

点击检查我的进度以验证是否完成了以下目标: 创建 Pub/Sub 主题并通过 API 后端发布消息。

恭喜!

您已完成使用全托管式网关部署和管理用于公开后端服务的 API 的挑战。

Google Cloud 培训和认证

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

本手册的最后更新时间:2025 年 4 月 1 日

本实验的最后测试时间:2025 年 4 月 1 日

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

准备工作

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

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

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

太好了!

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

一次一个实验

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

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

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