连接到 Cloud SQL

本文档介绍了如何创建连接到 Cloud SQL 数据的数据存储区。您可以将此数据存储区关联到 Gemini Enterprise 应用,以允许智能体分析您的数据。

如需使用 Gemini Enterprise 数据存储区连接到 Cloud SQL 数据,您可以使用以下模式之一:

  • 联合查询(推荐) [预览版]:连接到 Cloud SQL 数据,无需因复制和移动数据而产生出站流量费用。联合查询会将您的查询直接发送到 Cloud SQL,涵盖您的身份拥有 Identity and Access Management (IAM) 访问权限的所有实例、数据库和表,这对于分析查询来说更高效。当您使用联合查询模式时,Gemini Enterprise 应用的助理标签页上会自动启用 Knowledge Catalog,以便为智能体提供工具来搜索用户有权访问的数据并查找上下文。

  • 数据注入:将数据从特定的 Cloud SQL 表复制到 Gemini Enterprise 数据存储区。必须手动刷新数据,才能反映 Cloud SQL 表中的更改。 此模式会产生将数据移至新位置的出站流量费用,并且现有 IAM 权限不会复制到数据存储区。

准备工作

如需在 Gemini Enterprise 中创建 Cloud SQL 数据存储区,您必须拥有 Gemini Enterprise Admin (roles/discoveryengine.agentspaceAdmin) 或 Discovery Engine Admin (roles/discoveryengine.admin) 角色。如需了解详情,请参阅向管理员授予权限。

如果您的项目受 VPC Service Controls 边界保护或启用了组织政策强制执行,请确保您的组织政策允许连接器:

此外,请完成前提条件,并为计划使用的连接器模式配置所需的 Cloud SQL IAM 权限:

联合查询

如需使用联合查询模式连接到 Cloud SQL,请在包含 Cloud SQL 实例的 Google Cloud 项目中完成以下前提条件:

  1. 在 Cloud SQL 实例上启用 Data API:

    gcloud sql instances patch <var>INSTANCE_NAME</var> \
        --project=<var>PROJECT_ID</var> \
        --data-api-access=ALLOW_DATA_API
    
  2. 授予 IAM 权限:在包含 Cloud SQL 实例的 Google Cloud 项目中,向通过连接器查询或执行操作的用户授予以下 IAM 角色:

数据注入

如需从 Cloud SQL 注入数据,请配置以下 IAM 权限:

  • 暂存存储桶访问权限:从 Cloud SQL 注入数据时,数据会先暂存到 Cloud Storage 存储桶。向 Cloud SQL 实例的服务账号(例如 p9876-abcd33f@gcp-sa-cloud-sql.)授予中间 Cloud Storage 存储桶的 Storage Admin (roles/storage.admin) 角色。
  • 跨项目 Cloud SQL 访问权限:如果您要从与您要创建的包含 Gemini Enterprise 数据存储区的 Google Cloud 项目不同的来源 Google Cloud 项目导入数据,请向service-PROJECT_NUMBER@gcp-sa-discoveryengine.服务账号授予来源 Cloud SQL 项目的 Cloud SQL 查看者 (roles/cloudsql.viewer) 角色(其中PROJECT_NUMBER是包含 Gemini Enterprise 数据存储区的Google Cloud 项目的项目编号)。

创建 Cloud SQL 数据存储区

如需创建将 Cloud SQL 中的数据关联到 Gemini Enterprise 的数据存储区,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 Gemini Enterprise 页面。

    Gemini Enterprise

  2. 前往数据存储区页面。

  3. 点击创建数据存储区。

  4. 在来源页面上,为数据存储区选择数据源。在选择数据源搜索字段中搜索“Cloud SQL”,或在第一方数据源列表中找到 Cloud SQL。选择添加数据源。

  5. 在数据页面上,选择连接器模式,以确定如何连接到数据。根据您选择的模式,选择以下标签页以获取更多说明。

    联合查询

    1. 选择联合查询(推荐)。点击继续。
    2. 在操作页面上,选择要为数据存储区启用的 Cloud SQL 操作。您稍后可以修改这些设置。点击继续。

    数据注入

    1. 选择数据注入。
    2. 指定要导入的数据的详细信息。在从 Cloud SQL 表导入数据下,指定以下信息:
      • 项目 ID:包含 Cloud SQL 表的 Google Cloud 项目。此字段是必填字段。
      • 实例 ID:包含要导入的数据的 Cloud SQL 实例 ID。此字段是必填字段。
      • 数据库 ID:包含要导入的数据的 Cloud SQL 数据库 ID。此字段是必填字段。
      • 表 ID:包含要导入的数据的 Cloud SQL 表 ID。此字段是必填字段。
      • 输入数据的 Google Cloud Storage 存储桶位置。此字段是必填字段。 (可选)选择启用无服务器导出以使用 Cloud SQL 无服务器导出。启用无服务器导出会产生额外费用。请参阅 Cloud SQL 无服务器导出价格。
    3. 点击继续。
  6. 在配置页面上,配置数据存储区设置。

    • 数据连接器的位置:选择一个区域来存储数据存储区的元数据。创建数据存储区后,便无法更改位置。如需了解有关多区域位置的重要信息,请参阅 Gemini Enterprise 位置。
    • 数据连接器名称:在数据连接器名称字段中,为数据连接器输入名称。数据连接器创建后,您无法更改其名称。输入名称后,系统会为数据连接器生成一个唯一的 ID。(可选)在标记(可选)字段中,为数据连接器输入一个标记,该标记将作为连接器在所有版本中的稳定标识符。
    • Sensitive Data Protection 政策:为数据存储区选择一项 Sensitive Data Protection 政策。格式应如下所示:projects/{project}/locations/{location}/contentPolicies/{policy}。您可以稍后修改此设置。
  7. 点击创建。

现在,您可以将数据存储区附加到 Gemini Enterprise 应用了。在联合查询模式下,当用户通过附加的应用运行查询时,查询会产生 Cloud SQL 使用费用;在数据注入模式下,即使在数据存储区附加到应用之前,导入数据也会产生 Cloud SQL、Cloud Storage 和 Gemini Enterprise 索引编制费用。如需详细了解这些费用,请参阅 Gemini Enterprise 定价。

后续步骤