
准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
Enable relevant APIs and set IAM roles.
/ 20
Create and start a Cloud Workstation.
/ 20
Deploy your app to Cloud Run.
/ 60
在本实验中,您将使用 Google Cloud 中 AI 赋能的协作工具 Gemini,探索、创建、修改、测试和部署一个示例应用。
您要使用 Cloud Workstations 创建一个以 Code OSS 作为 IDE 的开发环境。您将在 Cloud Code 中使用 Gemini Code Assist 来理解代码,并构建一个具有两种 API 方法的示例商品目录应用。您还会使用 Gemini 生成将应用部署到 Cloud Run 的步骤。
本实验面向参与构建应用但不熟悉云应用开发的开发者,不限经验水平。如果您能具备一些使用 VS Code 或 Code OSS 作为 IDE 的经验,并熟悉 Python 和 Flask 框架,将会很有帮助。
在本实验中,您将学习如何执行以下任务:
对于每个实验,您都会免费获得一个新的 Google Cloud 项目及一组资源,它们都有固定的使用时限。
点击开始实验按钮。如果该实验需要付费,系统会打开一个弹出式窗口供您选择付款方式。左侧是实验详细信息面板,其中包含以下各项:
点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。
该实验会启动资源并打开另一个标签页,显示登录页面。
提示:将这些标签页安排在不同的窗口中,并排显示。
如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。
您也可以在实验详细信息面板中找到用户名。
点击下一步。
复制下面的密码,然后将其粘贴到欢迎对话框中。
您也可以在实验详细信息面板中找到密码。
点击下一步。
继续在后续页面中点击以完成相应操作:
片刻之后,系统会在此标签页中打开 Google Cloud 控制台。
Cloud Shell 是一种包含开发工具的虚拟机。它提供了一个 5 GB 的永久性主目录,并且在 Google Cloud 上运行。Cloud Shell 可让您通过命令行访问 Google Cloud 资源。gcloud
是 Google Cloud 的命令行工具。它会预先安装在 Cloud Shell 上,且支持 Tab 键自动补全功能。
在 Google Cloud Console 的导航窗格中,点击激活 Cloud Shell ()。
点击继续。
预配和连接到环境需要一些时间。若连接成功,也就表明您已通过身份验证,且相关项目的 ID 会被设为您的 PROJECT_ID。例如:
列出有效的帐号名称:
(输出)
(输出示例)
列出项目 ID:
(输出)
(输出示例)
使用您的实验凭据登录 Google Cloud 控制台,并打开 Cloud Shell 终端窗口。
如需设置项目 ID 和区域环境变量,请在 Cloud Shell 中运行以下命令:
如需将已登录的 Google 用户账号存储到环境变量中,请运行以下命令:
启用 Cloud AI Companion API,以便使用 Gemini:
如需使用 Gemini,请为您的 Google Cloud Qwiklabs 用户账号授予必要的 IAM 角色:
添加这些角色后,用户即可开始使用 Gemini 助手。
如需验证是否已完成以下目标,请点击检查我的进度:
本实验利用 Gemini 助手,通过 Cloud Workstations IDE 的 Cloud Code 插件来开发应用。Cloud Workstations 是一种全托管式集成开发环境,包含与 Gemini 的原生集成。
在此任务中,您将配置并预配 Cloud Workstations 环境,并为 Gemini 启用 Cloud Code 插件。
我们已经为本实验预先创建了一个名为 my-cluster
的工作站集群。此集群用于配置和创建工作站。
在 Google Cloud 控制台标题栏的搜索字段中输入 Cloud Workstations,然后点击搜索结果中的 Cloud Workstations。
在导航窗格中,点击集群管理。
检查集群状态。如果集群状态为正在调整
或正在更新
,请不时刷新,直至其变为准备就绪
后再继续执行下一步。
在创建工作站前,您必须在 Cloud Workstations 中创建工作站配置。
在导航窗格中,依次点击工作站配置和创建工作站配置。
指定以下值:
属性 | 值 |
---|---|
名称 | my-config |
工作站集群 | 选择 my-cluster |
点击创建。
点击刷新。
检查所创建配置的状态。如果该配置的状态为正在调整
或正在更新
,请不时刷新,直至其变为准备就绪
后再继续执行下一步。
在导航窗格中,依次点击工作站和创建工作站。
指定以下值:
属性 | 值 |
---|---|
名称 | my-workstation |
配置 | 选择 my-config |
点击创建。
工作站创建完毕后会列在我的工作站下,状态为已关停
。
如需启动工作站,请点击启动。
在工作站启动期间,状态会变为正在启动
。请等待状态变为正在运行
,这代表它已经可以使用了。工作站可能需要几分钟时间才能完全启动。
为保证正常工作,有些扩展程序要求在您的浏览器中启用第三方 Cookie。
如需在 Chrome 中启用第三方 Cookie,请点击 Chrome 菜单中的设置。
在搜索栏中输入第三方 Cookie。
点击第三方 Cookie 设置,并选择允许第三方 Cookie。
如需在工作站上启动 Code OSS IDE,请在 Google Cloud 控制台的工作站页面中点击启动。
该 IDE 将在单独的浏览器标签页中打开。
如需验证是否已完成以下目标,请点击检查我的进度:
在此任务中,您要在 Cloud Code 中为您的工作站 IDE 启用 Gemini。
如需在您的工作站中连接到 Google Cloud,请执行以下步骤:
在窗口底部的状态栏中,点击 Cloud Code - Sign In(Cloud Code - 登录)。
为了启动 Cloud Code 登录流程,在按下 Ctrl 键(对于 Windows 和 Linux)或 Command 键(对于 MacOS)的同时点击终端内的链接。
如果系统要求您确认是否打开外部网站,请点击 Open(打开)。
点击学员邮箱。
当系统提示您确认已从 Google 下载此应用时,请点击 Sign in(登录)。
您的验证码会显示在浏览器标签页中。
点击 Copy(复制)。
回到 IDE 中,将验证码粘贴到终端中显示 Enter authorization code(输入授权代码)的位置。
如果系统提示您批准从剪贴板复制内容,请点击 Allow(允许)。
按 Enter 键,然后等待状态栏显示 Cloud Code - No Project(Cloud Code - 无项目)。
您现已连接到 Google Cloud。
要在 Cloud Code 中为您的工作站 IDE 启用 Gemini,请完成以下步骤:
在工作站 IDE 中,点击左下角的 Manage(管理)图标 (),然后点击 Settings(设置)。
在“Settings”(设置)对话框的 User(用户)标签页上,选择 Extensions > Gemini Code Assist(扩展程序 > Gemini Code Assist)。
在 Search settings(搜索设置)中输入 Gemini
。
在 Qwiklabs 实验凭据面板中,点击 Copy(复制)以复制项目 ID。
在 Cloud Code 设置页面中,在 Geminicodeassist: Project(Geminicodeassist:项目)中粘贴 Google Cloud 项目 ID。
确认 Geminicodeassist: Enable(Geminicodeassist:启用)设置处于已启用状态。
在 IDE 状态栏中,点击 Cloud Code - No Project(Cloud Code - 无项目)。
点击 Select a Google Cloud Project(选择 Google Cloud 项目),然后点击您的项目 ID。
项目 ID 现在会显示在状态栏中。现在就可以使用 Gemini 了。
Gemini 可以根据您的应用架构要求,帮您选择合适的 Google Cloud 服务。如果您想在本地 IDE 中开发和测试应用,随后将其部署到 Google Cloud,则可以与 Gemini 聊天来获得帮助。
在此任务中,您将使用 Gemini Code Assist 窗格输入提示并查看 Gemini 生成的回答。
提示是描述您所需要的帮助的问题或陈述。提示可以包含现有代码中的上下文,Google Cloud 会分析这些上下文,以提供更实用或更完整的回答。如需详细了解如何撰写提示以生成优质回答,请参阅在 Google Cloud 中撰写更好的 Gemini 提示。
若要向 Gemini 发出提示,让它为您提供有关 Google Cloud 服务的建议,请执行以下步骤:
如需打开 Gemini 对话窗格,请在 IDE 活动栏中点击 Gemini Code Assist ()。
如果在尝试打开 Gemini 对话窗格时发生错误,请刷新浏览器窗口。
在 Gemini Code Assist 窗格中,输入以下提示,然后点击 Send(发送)():
Gemini 会在回答中提供一份 Google Cloud 服务及描述的列表。
在本例中,假设 Gemini 推荐使用 Cloud Run 和 Cloud Functions 这两种 Google Cloud 服务来帮您构建和部署示例应用。您可以询问有关这些服务的更多信息。
若要提出进一步的问题或提示,请在 Gemini Code Assist 窗格中输入以下文字,然后点击 Send(发送)():
Gemini 将在回答中说明这两种 Google Cloud 服务的主要区别。
如需重置聊天记录,请在 Gemini Code Assist 窗格中点击 Reset Chat(重置聊天)()。
接下来我们使用 Cloud Run 创建和部署一个基本的 Python 应用。作为 Cloud Run 和 Cloud Code 的新手用户,您需要有关应用创建步骤的帮助。
在此任务中,您将发出提示,让 Gemini 帮助您在 Cloud Run 中构建一个 Hello World Python 应用。
在 Gemini Code Assist 窗格中,如需了解如何使用 Cloud Code 创建 Cloud Run 应用,请输入以下提示,随后点击 Send(发送)():
在 Gemini 生成的回答中,您可以看到创建应用的一系列步骤。Gemini 还会显示 Cloud Run 应用支持的语言。
点击菜单 (),然后前往 View > Command Palette(视图 > 命令面板)。
输入 Cloud Code New
,然后选择 Cloud Code: New Application(Cloud Code:新应用)。
选择 Cloud Run application(Cloud Run 应用)。
选择 Python (Flask):Cloud Run。
将应用名称和顶层文件夹更新为 /home/user/hello-world
,然后点击确定。
Cloud Code 将下载模板,并在您 IDE 的该文件夹中创建应用文件。
现在,您已经在 Cloud Run 中创建了 Hello World
应用,可以使用 Gemini 来解释 IDE 中部署的文件和代码段。
如果看不到这些文件,请在 IDE 活动栏中点击 Explorer(探索器)()。
在“Explorer”(探索器)窗格中,选择 Dockerfile。
选中 Dockerfile 的全部内容,点击灯泡图标 (),然后从 More Actions(更多操作)菜单中点击 Gemini: Explain this(Gemini:解释此内容)。
Gemini 将使用自然语言生成有关 Dockerfile
内容及作用的解释。您还可以选中文件内容的各个部分,点击灯泡图标 (),然后点击 Gemini: Explain this(Gemini:解释此内容)。
选择以 ENTRYPOINT 开头的行,点击灯泡图标 (),然后点击 Gemini: Explain this(Gemini:解释此内容)。
Gemini 的回答中会包含 ENTRYPOINT 指令的详细信息。您将了解到,使用该指令,Docker 会在容器启动时运行 app.py 文件。
如需查看 app.py
文件的内容,请在活动栏中点击 Explorer(探索器)(),然后点击 app.py
。
在 hello()
函数定义中,选择包含环境变量 K_SERVICE
和 K_REVISION
的行。点击灯泡图标 (),然后点击 Gemini: Explain this(Gemini:解释此内容)。
Gemini 会在回答中详细说明这两个 Cloud Run 环境变量,以及它们在应用代码中的用法。
在 IDE 中,您可以使用 Cloud Run 模拟器在本地运行应用。在本实验中,“本地”是指在工作站机器上。
在 IDE 的活动栏中,点击 Cloud Code (),然后点击 Cloud Run。
在 Cloud Run 活动栏中,点击 Run App on Local Cloud Run Emulator(在本地 Cloud Run 模拟器中运行应用)(),然后点击 Run(运行)。
IDE 中的 Output(输出)标签页会显示构建进度。
当屏幕顶部显示 Enable minikube gcp-auth addon to access Google APIs(启用 minikube gcp-auth 插件以访问 Google API)提示时,选择 Yes(是)。
在系统提示您登录时,点击 Proceed to sign in(继续登录)。
终端中会显示一个链接。
为了启动 Cloud Code 登录流程,在按下 Ctrl 键(对于 Windows 和 Linux)或 Command 键(对于 MacOS)的同时点击终端内的链接。
如果系统要求您确认是否打开外部网站,请点击 Open(打开)。
点击学员邮箱。
看到要求您继续操作的提示时,点击 Continue(继续)。
若要允许 Google Cloud SDK 访问您的 Google 账号并同意条款,请点击允许。
您的验证码会显示在浏览器标签页中。
点击 Copy(复制)。
返回 IDE,将验证码粘贴到终端中显示 Enter Authorization code(输入授权代码)的位置,然后点击 Enter。
等待构建和部署完成。
将指针悬停在 hello-world 服务的本地主机网址链接上,点击随即出现的 Follow link(打开链接)。
浏览器中将会打开一个新标签页,显示一个指明服务正在运行的网页。
下面我们来为应用添加数据和功能,以便使用它来管理库存数据。
在此任务中,您首先要为应用添加商品目录数据。
在 IDE 的活动栏中,点击 Explorer(探索器)()。
点击 New file(新建文件)(),并创建一个名为 inventory.py
的文件。
为了让 Gemini 生成示例数据,请打开 Gemini Code Assist 窗格,输入以下提示,然后点击 Send(发送):
Gemini 会生成 inventory
JSON 数组,其中包含 3 个 JSON 对象。
若要将示例 JSON 数据插入 inventory.py 文件中,请在 Gemini 回答中点击 Insert in current file(插入到当前文件中)()。该文件的内容如下所示:
若要在 home/user/hello-world
文件夹中保存 inventory.py
文件,请在 IDE 菜单 () 中点击 File > Save(文件 > 保存)。
在下一个子任务中,您将使用这些示例库存数据。
接下来,您将在 app.py
文件中添加 API 方法,以便对库存数据执行操作。为了完成这个子任务,您要使用 Gemini 中的代码生成功能。
在 Explorer(探索器)中,打开 app.py
文件。
修改 flask import 语句,以使其包含 inventory
文件和 jsonify
库:
在 app.py
文件中,将光标置于 app 的赋值语句下方:
要让 Gemini Code Assist 生成第一种 API 方法的代码,请在 app.py
文件中输入以下注释:
选择注释行,包括注释下方的空行。
点击灯泡图标 (),然后选择 Gemini: Generate code(Gemini:生成代码)。
Gemini 会生成一个执行 GET 操作的函数,它将返回 inventory.py
文件中的商品项列表。此函数大致如下所示:
jsonify(inventory)
函数,请突出显示对应的词语,然后向 Gemini 发出提示,让它为您解释此代码。
若要接受生成的代码,请将指针悬停在回答中生成的代码的任意部分上,然后点击 Accept(接受)。
如果为您生成的代码中的 app.route 和 return 语句与上面显示的代码有所不同,请用上面显示的代码段取代 Gemini 为您生成的代码段。这样应该就能确保本实验按预期进行。
下面我们来添加另一个 API 方法,用于在给定商品 ID (productID) 的前提下,返回对应的特定商品目录项的数据。如果未找到该商品 ID,API 会返回标准 HTTP 状态代码 404。
在 /inventory
路径后面添加几个空行。
为了让 Gemini 生成第二个 API 方法的代码,请在 app.py
文件中输入以下注释:
选中 3 个注释行以及注释后面的空行,点击灯泡图标 (),然后选择 Gemini: Generate code(Gemini:生成代码)。
Gemini 会生成一个执行 GET 操作的函数,它将根据请求中提供的 productID 在商品目录文件中查找对应的商品项,如果此商品存在,则返回对应的项,否则返回 404 状态代码。
将指针悬停在回答中生成的代码的任意部分上。若要接受生成的代码,请点击工具栏中的 Accept(接受)。
如果为您生成的代码与上面显示的代码有所不同,请用上面显示的代码段取代 Gemini 为您生成的代码段。
现在,您的 app.py
文件应如下所示:
在 IDE 中,您可以使用 Cloud Run 模拟器在本地运行应用。在本实验中,“本地”是指在工作站机器上。
在 IDE 的活动栏中,点击 Cloud Code ()。
在 Cloud Run 活动栏中,点击 Run App on Local Cloud Run Emulator(在本地 Cloud Run 模拟器中运行应用)()。
当屏幕顶部显示 Enable minikube gcp-auth addon to access Google APIs(启用 minikube gcp-auth 插件以访问 Google API)提示时,选择 Yes(是)。
等待构建和部署完成。
将指针悬停在 hello-world 服务的本地主机网址链接上,点击随即出现的 Follow link(打开链接)。
浏览器中将会打开一个新标签页,显示一个指明服务正在运行的网页。
请按照上一个任务中的步骤在本地运行应用。
打开本地主机网址链接并在另一个浏览器标签页中查看正在运行的应用之后,在此标签页的网址末尾附加 /inventory
,并按 Enter 键。
API 将返回 JSON 响应,其中包含 inventory.py
文件中的商品列表。JSON 响应如下所示:
向以 /inventory
结尾的网址附加 /{productID}
,这里的 /{productID}
是商品目录中的一个商品 ID。
在上述示例中,有效网址将以 /inventory/12345
结尾。
请记下此商品 ID,因为您将会在后续步骤中用到此信息。
按 Enter 键。
API 将返回 JSON 响应,其中包含该特定商品的数据。
将网址中的商品 ID 替换为 XXXXX
,然后按 Enter 键。
现在,网址应以 /inventory/XXXXX
结尾。
XXXXX 并非有效的商品 ID,因此 API 会返回 JSON 错误响应,指出未找到此商品。
现在可以将应用部署到 Google Cloud 上的 Cloud Run 中。
在活动栏主菜单 () 中,点击View > Command Palette(视图 > 命令面板)。
在“Command Palette”(命令面板)字段中,输入 Cloud Code Deploy,然后从列表中选择 Cloud Code: Deploy to Cloud Run(Cloud Code:部署到 Cloud Run)。
若要为您的项目启用 Cloud Run API,请点击 Enable API(启用 API)。
在 Service Settings(服务设置)页面上,为 Region(区域)选择
其余设置均保留默认值,然后点击 Deploy(部署)。
Cloud Code 会构建映像,将其推送到注册表,并将您的服务部署到 Cloud Run。这可能需要几分钟的时间。
如需查看正在运行的服务,请打开“Deploy to Cloud Run”(部署到 Cloud Run)对话框中显示的网址。
在此网址末尾附加 /inventory
和 /inventory/{productID}
路径来测试服务,并验证响应。
如需获取 Cloud Run 服务商品目录页面的网址,请在 Cloud Shell 中运行以下命令:
如需验证是否已完成以下目标,请点击检查我的进度:
完成实验后,请点击结束实验。Qwiklabs 会移除您使用过的资源并为您清理帐号。
系统会提示您为实验体验评分。请选择相应的评分星级,输入评论,然后点击提交。
星级的含义如下:
如果您不想提供反馈,可以关闭该对话框。
如果要留言反馈、提出建议或做出更正,请使用支持标签页。
在本实验中,您学习了如何执行以下操作:
版权所有 2024 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名称和产品名称可能是其各自相关公司的商标。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验