连接到 Cloud SQL

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

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

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

  • 数据注入:将特定 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 边界保护或启用了组织政策强制执行,请确保您的组织政策允许连接器:

  • 在 discoveryengine.managed.allowedDataSources 托管式限制(限制 数据连接器允许的数据源)中,将cloudsql 添加到allowedDataSources 参数。如需了解详情,请参阅 受管政策约束概览 和配置允许的数据源。

此外,请完成前提条件,并为计划使用的 连接器模式配置所需的 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 权限:在包含 Google Cloud Cloud SQL 实例的项目中,向通过连接器查询或执行操作的用户授予以下 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. 服务帐号(其中 PROJECT_NUMBER 是包含 Gemini Enterprise 数据存储区的 Google Cloud 项目的项目编号)授予源 Cloud SQL 项目的 Cloud SQL Viewer (roles/cloudsql.viewer) 角色。
中查看数据的权限也是如此。

创建 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 价格。

后续步骤