arrow_back

開始使用 API Gateway:挑戰實驗室

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

開始使用 API Gateway:挑戰實驗室

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

ARC109

Google Cloud 自學實驗室標誌

總覽

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

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

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

設定

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

請詳閱以下操作說明。實驗室活動會計時,且中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 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!」即可。

點選「Check my progress」,確認目標已達成。 建立 Cloud Run 函式。

工作 2:建立 API 閘道

部署 Cloud Run 函式後,請設定 API Gateway,將要求轉送至後端。

建立名為 openapispec.yaml 的檔案 (使用下方程式碼),該檔案會參照工作 1 中部署的 Cloud Run 函式。

部署 API Gateway 時,請使用 openapispec.yaml,並設定下列屬性:

名稱
顯示名稱 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 分鐘) 才能完成。 如要查看建立和部署程序的狀態,可以點選上方主導覽列的「通知」圖示 (鈴鐺圖示),系統會顯示狀態通知。請確認「Creating gateway "gcfunction API"」圖示的狀態為綠色勾號,再繼續操作。

點選「Check my progress」,確認目標已達成。 建立 API Gateway。

工作 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 閘道叫用 Cloud Run 函式。如果操作正確,訊息會發布至您在這項工作建立的 demo-topic 主題。

注意:呼叫 API Gateway 端點後,發布的訊息需要幾分鐘 (約 5 分鐘) 才會顯示在訂閱的「訊息」部分。

點選「Check my progress」,確認目標已達成。 建立 Pub/Sub 主題,並透過 API 後端發布訊息。

恭喜!

您已完成挑戰,成功部署及管理 API,並透過全代管閘道公開後端服務。

Google Cloud 教育訓練與認證

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

使用手冊上次更新日期:2025 年 4 月 1 日

實驗室上次測試日期:2025 年 4 月 1 日

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

准备工作

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

使用无痕浏览模式

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

登录控制台

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

此内容目前不可用

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

太好了!

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

一次一个实验

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

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

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