本文档介绍了如何创建连接到 Spanner 数据的数据存储区。您可以将此数据存储区关联到 Gemini Enterprise 应用,以允许智能体分析您的数据。
如需使用 Gemini Enterprise 数据存储区连接到 Spanner 数据,您可以使用以下任一模式:
联合查询(推荐) [预览版]:连接到 Spanner 数据,无需复制和移动数据,从而避免产生出站流量费用。联合查询会将您的查询直接发送到 Spanner,查询您的身份有权通过 Identity and Access Management (IAM) 访问的所有数据库和表,这对于分析查询来说效率更高。当您使用联合查询模式时,Gemini Enterprise 应用的助理标签页上会自动启用 Knowledge Catalog,以便为智能体提供工具来搜索用户有权访问的数据并查找上下文。
数据注入:将数据从特定的 Spanner 表复制到 Gemini Enterprise 数据存储区。必须手动刷新数据,才能反映 Spanner 表中的更改。此模式会产生将数据移至新位置的出站流量费用,并且现有 IAM 权限不会复制到数据存储区。
准备工作
如需在 Gemini Enterprise 中创建 Spanner 数据存储区,您必须拥有 Gemini Enterprise Admin (roles/discoveryengine.agentspaceAdmin) 或 Discovery Engine Admin (roles/discoveryengine.admin) 角色。如需了解详情,请参阅向管理员授予权限。
如果您的项目受 VPC Service Controls 边界保护或启用了组织政策强制执行,请确保您的组织政策允许连接器:
- 将
spanner添加到discoveryengine.managed.allowedDataSources受管理的限制(限制数据连接器允许的数据源)中的allowedDataSources参数。如需了解详情,请参阅受管理的政策限制概览和配置允许的数据源。
此外,请为计划使用的连接器模式配置所需的 Spanner IAM 权限:
联合查询
如需使用联合查询模式连接到 Spanner,请向通过连接器在包含 Spanner 数据库的Google Cloud 项目中查询或执行操作的用户授予以下 IAM 角色:
- 数据库访问权限:
- MCP 工具访问权限:
- Spanner 数据库所在项目中的 MCP Tool User (
roles/mcp.toolUser),以调用 Spanner MCP 工具。
- Spanner 数据库所在项目中的 MCP Tool User (
数据注入
如需从与您要创建的包含 Gemini Enterprise 数据存储区的 Google Cloud 项目不同的源 Google Cloud 项目注入数据,请向service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com服务账号(其中 PROJECT_NUMBER 是包含 Gemini Enterprise 数据存储区的Google Cloud 项目的项目编号)授予源 Spanner 项目的以下 IAM 角色之一:
- 不使用 Data Boost:Cloud Spanner Database Reader (
roles/spanner.databaseReader) - 使用 Data Boost:Cloud Spanner Database Admin (
roles/spanner.databaseAdmin),或具有 Cloud Spanner Database Reader 和spanner.databases.useDataBoost权限的自定义角色。如需了解详情,请参阅 Data Boost 概览。
创建 Spanner 数据存储区
如需创建将 Spanner 中的数据关联到 Gemini Enterprise 的数据存储区,请按以下步骤操作:
在 Google Cloud 控制台中,前往 Gemini Enterprise 页面。
前往数据存储区页面。
点击创建数据存储区。
在来源页面上,为数据存储区选择数据源。在选择数据源搜索字段中搜索“Spanner”,或在第一方数据源列表中找到 Spanner。选择添加数据源。
在数据页面上,选择连接器模式,以确定如何连接到数据。根据您选择的模式,选择以下标签页以获取更多说明。
联合查询
数据注入
- 选择数据注入。
指定要导入的数据的详细信息。在从 Spanner 表导入数据下,指定以下信息:
- 项目 ID:包含 Spanner 表的 Google Cloud 项目。此字段是必填字段。
- 实例 ID:包含您要导入的数据的 Spanner 实例 ID。此字段是必填字段。
- 数据库 ID:包含要导入的数据的 Spanner 数据库 ID。此字段是必填字段。
- 表 ID:包含您要导入的数据的 Spanner 表 ID。此字段是必填字段。
您可以选择启用 Data Boost,以使用 Spanner Data Boost 来加快查询速度。启用 Data Boost 会产生额外费用。请参阅 Spanner Data Boost 结算和配额。
点击继续。
在配置页面上,配置数据存储区设置。
- 数据连接器的位置:选择一个区域来存储数据存储区的元数据。创建数据存储区后,便无法更改位置。如需了解有关多区域位置的重要信息,请参阅 Gemini Enterprise 位置。
- 数据连接器名称:在数据连接器名称字段中,为数据连接器输入名称。数据连接器创建后,您无法更改其名称。输入名称后,系统会为数据连接器生成一个唯一的 ID。(可选)在标记(可选)字段中,为数据连接器输入一个标记,该标记将作为连接器在所有版本中的稳定标识符。
- Sensitive Data Protection 政策:为数据存储区选择一项 Sensitive Data Protection 政策。格式应如下所示:
projects/{project}/locations/{location}/contentPolicies/{policy}。您可以稍后修改此设置。
点击创建。
现在,您可以将数据存储区附加到 Gemini Enterprise 应用了。在联合查询模式下,当用户通过附加的应用运行查询时,查询会产生 Spanner 使用费用;在数据注入模式下,即使在数据存储区附加到应用之前,导入数据也会产生 Spanner 和 Gemini Enterprise 索引编制费用。如需详细了解这些费用,请参阅 Gemini Enterprise 定价。
后续步骤
如需将数据存储区关联到应用,请按照创建 Gemini Enterprise 应用中的步骤创建应用并选择数据存储区。
了解 Knowledge Catalog 如何与 Data Cloud 连接器(在您使用联合查询模式时自动启用)配合使用,帮助代理搜索用户有权访问的数据并查找组织上下文。
如需构建具有已验证查询的高精度范围限定型智能体,请参阅将 Spanner 数据智能体发布到 Gemini Enterprise。