实验设置说明和要求
保护您的账号和进度。请务必在无痕浏览器窗口中,使用实验凭证运行此实验。

创建和管理 Cloud Spanner 实例:实验室挑战赛

实验 20 分钟 universal_currency_alt 1 个点数 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
此内容尚未针对移动设备进行优化。
为获得最佳体验,请在桌面设备上访问通过电子邮件发送的链接。

GSP381

Google Cloud 自学实验的徽标

概览

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

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

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

建议已报名参加创建和管理 Cloud Spanner 实例技能徽章课程的学员参加本实验室挑战赛。准备好接受挑战了吗?

测试的主题

  • 创建 Cloud Spanner 实例。
  • 创建 Cloud Spanner 数据库。
  • 在数据库中创建表。
  • 将简单的数据集加载到表中
  • 加载复杂的数据集。
  • 向现有表添加新列。

目标受众群体

本实验室挑战赛的内容最适合 Cloud Spanner 数据库管理员。本实验旨在测试已完成“创建和管理 Cloud Spanner 数据库”课程的学员的能力。

设置和要求

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

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

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

为完成此实验,您需要:

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

如何开始实验并登录 Google Cloud 控制台

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个对话框供您选择支付方式。左侧是“实验详细信息”窗格,其中包含以下各项:

    • “打开 Google Cloud 控制台”按钮
    • 剩余时间
    • 进行该实验时必须使用的临时凭据
    • 帮助您逐步完成本实验所需的其他信息(如果需要)
  2. 点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。

    该实验会启动资源并打开另一个标签页,显示“登录”页面。

    提示:将这些标签页安排在不同的窗口中,并排显示。

    注意:如果您看见选择账号对话框,请点击使用其他账号
  3. 如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。

    {{{user_0.username | "<用户名>"}}}

    您也可以在“实验详细信息”窗格中找到“用户名”。

  4. 点击下一步

  5. 复制下面的密码,然后将其粘贴到欢迎对话框中。

    {{{user_0.password | "<密码>"}}}

    您也可以在“实验详细信息”窗格中找到“密码”。

  6. 点击下一步

    重要提示:您必须使用实验提供的凭据。请勿使用您的 Google Cloud 账号凭据。 注意:在本实验中使用您自己的 Google Cloud 账号可能会产生额外费用。
  7. 继续在后续页面中点击以完成相应操作:

    • 接受条款及条件。
    • 由于这是临时账号,请勿添加账号恢复选项或双重验证。
    • 请勿注册免费试用。

片刻之后,系统会在此标签页中打开 Google Cloud 控制台。

注意:如需访问 Google Cloud 产品和服务,请点击导航菜单,或在搜索字段中输入服务或产品的名称。 “导航菜单”图标和“搜索”字段

激活 Cloud Shell

Cloud Shell 是一种装有开发者工具的虚拟机。它提供了一个永久性的 5GB 主目录,并且在 Google Cloud 上运行。Cloud Shell 提供可用于访问您的 Google Cloud 资源的命令行工具。

  1. 点击 Google Cloud 控制台顶部的激活 Cloud Shell “激活 Cloud Shell”图标

  2. 在弹出的窗口中执行以下操作:

    • 继续完成 Cloud Shell 信息窗口中的设置。
    • 授权 Cloud Shell 使用您的凭据进行 Google Cloud API 调用。

如果您连接成功,即表示您已通过身份验证,且项目 ID 会被设为您的 Project_ID 。输出内容中有一行说明了此会话的 Project_ID

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud 是 Google Cloud 的命令行工具。它已预先安装在 Cloud Shell 上,且支持 Tab 自动补全功能。

  1. (可选)您可以通过此命令列出活跃账号名称:
gcloud auth list
  1. 点击授权

输出:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (可选)您可以通过此命令列出项目 ID:
gcloud config list project

输出:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} 注意:如需查看在 Google Cloud 中使用 gcloud 的完整文档,请参阅 gcloud CLI 概览指南

挑战场景

作为公司数据库管理员,您的任务是为公司的银行业务运营部门创建一个新的 Cloud Spanner 数据库。您已收到了此数据库的一份规范清单,其中的内容与要加载的表和数据集有关。

任务 1. 创建 Cloud Spanner 实例

  1. 您的第一个任务是创建实例。

  2. 您可以使用 Cloud 控制台或 gcloud CLI 完成此步骤。

  3. 您的实例必须具有以下属性:

名称 banking-ops-instance
区域
分配计算容量 单位 - 节点 // 数量 - 1

以下是用于创建实例的 gcloud CLI 命令示例:

gcloud spanner instances create my-sample-instance \ --config=regional-{{{project_0.default_region|Region}}} \ --description="Sample Instance" \ --nodes=1
  1. 点击检查我的进度以验证是否完成了以下目标:
创建实例

任务 2. 创建 Cloud Spanner 数据库

  1. 您的下一个任务是创建数据库。

  2. 您可以使用 Cloud 控制台或 gcloud CLI 完成此步骤。

  3. 您的数据库必须具有以下属性:

名称 banking-ops-db

以下是用于创建数据库的 gcloud CLI 命令示例:

gcloud spanner databases create my-sample-db \ --instance=my-sample-instance
  1. 点击检查我的进度以验证是否完成了以下目标:
创建数据库

任务 3. 在数据库中创建表

  1. 您的数据库必须总共有 4 个表 - PortfolioCategoryProductCustomer

  2. 这些表必须按照下方列出的规范来定义。

以下是用于创建表的 DDL 命令示例:

CREATE TABLE Sample ( SampleId INT64 NOT NULL, SampleName STRING(MAX) ) PRIMARY KEY (SampleId);

表:Portfolio

主键:PortfolioId

数据类型
PortfolioId INT64 NOT NULL
Name STRING(MAX)
ShortName STRING(MAX)
PortfolioInfo STRING(MAX)



表:Category

主键:CategoryId

数据类型
CategoryId INT64 NOT NULL
PortfolioId INT64 NOT NULL
CategoryName STRING(MAX)
PortfolioInfo STRING(MAX)



表:Product

主键:ProductId

数据类型
ProductId INT64 NOT NULL
CategoryId INT64 NOT NULL
PortfolioId INT64 NOT NULL
ProductName STRING(MAX)
ProductAssetCode STRING(25)
ProductClass STRING(25)



表:Customer

主键:CustomerId

数据类型
CustomerId STRING(36) NOT NULL
Name STRING(MAX) NOT NULL
Location STRING(MAX) NOT NULL



任务 4. 将简单的数据集加载到表中

  1. 您的三个表(PortfolioCategoryProduct)将会加载简单的小规模数据集。

  2. 您可以使用任何方法来加载这些表。

注意:所提供的数据元素已按对应表的列顺序进行排序。

以下是将单行数据加载到表中的 DML 命令示例:

INSERT INTO Sample (SampleId, SampleName) VALUES (1, "Banking");

表:Portfolio

1, "Banking", "Bnkg", "All Banking Business" 2, "Asset Growth", "AsstGrwth", "All Asset Focused Products" 3, "Insurance", "Insurance", "All Insurance Focused Products"

表:Category

1,1,"Cash" 2,2,"Investments - Short Return" 3,2,"Annuities" 4,3,"Life Insurance"

表:Product

1,1,1,"Checking Account","ChkAcct","Banking LOB" 2,2,2,"Mutual Fund Consumer Goods","MFundCG","Investment LOB" 3,3,2,"Annuity Early Retirement","AnnuFixed","Investment LOB" 4,4,3,"Term Life Insurance","TermLife","Insurance LOB" 5,1,1,"Savings Account","SavAcct","Banking LOB" 6,1,1,"Personal Loan","PersLn","Banking LOB" 7,1,1,"Auto Loan","AutLn","Banking LOB" 8,4,3,"Permanent Life Insurance","PermLife","Insurance LOB" 9,2,2,"US Savings Bonds","USSavBond","Investment LOB"
  1. 点击各个检查我的进度按钮,以验证是否完成了以下目标:
创建和加载表

任务 5. 加载复杂的数据集

  1. 您将为 Customer 表加载更大规模的数据集。

  2. 名为 Customer_List_500.csv 的文件中包含 500 行数据,该文件位于以下公共 Cloud Storage 存储桶中。您可以根据需要参考或下载该文件。

gsutil URI

gs://spls/gsp381/Customer_List_500.csv

HTTP 网址

https://storage.googleapis.com/spls/gsp381/Customer_List_500.csv
  1. 您可能还记得,在 Cloud Spanner - 加载数据和执行备份实验中,我们介绍了加载较大规模数据集的几种方法。其中包括使用 Dataflow 或以批处理模式运行的客户端库。您可以选择创建简单的插入语句。您可以自行决定加载方法,但必须加载完这 500 行数据。

  2. 使用您喜欢的任何方法加载含 500 行数据的文件。某些方法需要修改数据文件,因此您要将该文件下载到本地机器。如果您选择了该方法,请务必创建备份文件。

  3. 注意:如果您使用的是 Dataflow,则请务必指定 区域性端点,并通过以下 gcloud 命令重置 Dataflow API:

gcloud services disable dataflow.googleapis.com --force gcloud services enable dataflow.googleapis.com
  1. 此外,如果您使用的是 Dataflow 模板,则需要提供一个名为 manifest.json 的清单文件。以下是一个 manifest.json 示例,您可以参考它来创建适合加载 Customer 表的文件。
注意:此示例无法直接使用,您必须对其进行相应更新。

注意:

{ "tables": [ { "table_name": "TABLE_NAME", "file_patterns": [ "gs://BUCKET/FOLDER/FILENAME.SUFFIX" ], "columns": [ {"column_name" : "UPDATE_COLUMN1", "type_name" : "UPDATE_DATATYPE" }, {"column_name" : "UPDATE_COLUMN2", "type_name" : "UPDATE_DATATYPE" }, {"column_name" : "UPDATE_COLUMN3", "type_name" : "UPDATE_DATATYPE" } ] } ] }
  1. 点击检查我的进度以验证是否完成了以下目标:
加载 Customer 表

任务 6. 向现有表添加新列

  1. 作为数据库管理员 (DBA),您必须向 Category 表添加一个名为 MarketingBudget 的新列。

  2. MarketingBudget 列的数据类型必须为 INT64

  3. 添加新列的操作需通过 DDL 命令完成。您可以通过 gcloud 命令、Cloud 控制台或客户端库调用来执行 DDL 命令。

以下是一个用于向表中添加列的 gcloud CLI 命令示例:

gcloud spanner databases ddl update my-sample-db \ --instance=my-sample-instance \ --ddl='ALTER TABLE Sample ADD COLUMN SampleValue INT64;'
  1. 点击检查我的进度以验证是否完成了以下目标:
添加列

恭喜!

在本实验中,您创建了 Cloud Spanner 实例和数据库,创建了表,加载了数据,并对表执行了 DDL 操作。

“创建和管理 Cloud Spanner 实例”技能徽章

赢得您的下一个技能徽章

本实验室挑战赛是创建和管理 Cloud Spanner 实例技能徽章课程的组成部分。完成此技能徽章课程可赢得上面的徽章,以表彰您取得的成就。您可以在简历和社交平台中分享自己的徽章,并使用 #GoogleCloudBadge 让大家知道您取得的这一成就。

此技能徽章课程是 Google Cloud 的数据库工程师学习路线的组成部分。如果您已完成此学习路线中的其他技能徽章课程,可以在课程目录中搜索并报名参加其他技能徽章课程。

Google Cloud 培训和认证

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

上次更新手册的时间:2026 年 1 月 5 日

上次测试实验的时间:2025 年 9 月 8 日

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

准备工作

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

使用无痕浏览模式

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

登录控制台

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

此内容目前不可用

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

太好了!

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

一次一个实验

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

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

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