从 PostgreSQL 导入元数据

本文档介绍了如何使用 Knowledge Catalog 连接器将元数据从 PostgreSQL 导入 Knowledge Catalog(以前称为 Dataplex Universal Catalog)。

此连接器支持托管在本地、Cloud SQL 或其他云环境中的 PostgreSQL 实例。

准备工作

如需从 PostgreSQL 导入元数据,请先完成以下任务:

  1. 授予所需的 角色和权限
  2. 启用 Knowledge Catalog 和 BigQuery Data Transfer Service API
  3. 满足 PostgreSQL 前提条件
  4. 满足网络前提条件

IAM 角色和权限

如需创建和管理 Knowledge Catalog 连接器作业,您需要具有 Identity and Access Management (IAM) 角色,这些角色可授予 Knowledge Catalog 和 BigQuery Data Transfer Service 的权限。

如需获得配置 PostgreSQL 连接器所需的权限,请让您的管理员为您授予以下 IAM 角色:

此外,您还必须向 BigQuery Data Transfer Service 服务代理 (service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.) 授予 dataplex.entryGroups.import 权限或 Dataplex Entry Group Importer (roles/dataplex.entryGroupImporter) 角色。您可以在项目级或条目组级授予此角色。

如需详细了解如何授予角色,请参阅管理 访问权限

启用 API

启用 Knowledge Catalog 和 BigQuery Data Transfer Service API。

启用 API

PostgreSQL 前提条件

确保满足 PostgreSQL 转移作业的前提条件。如需了解详情, 请参阅 BigQuery Data Transfer Service 文档中的 PostgreSQL 前提条件

除了 BigQuery Data Transfer Service 前提条件之外,您的 PostgreSQL 数据库还必须满足以下元数据提取要求:

  • 最低版本: PostgreSQL 15 或更高版本。
  • 最低所需权限: 提取工具需要特定权限才能成功收集元数据。

如需授予这些权限,请运行以下 SQL 语句:

  1. 授予数据库连接权限:

    GRANT CONNECT ON DATABASE DATABASE_NAME TO USERNAME;
    
  2. 授予架构使用权限:

    GRANT USAGE ON SCHEMA SCHEMA_NAME TO USERNAME;
    
  3. 向用户授予所需的读取角色:

    GRANT pg_read_all_data TO USERNAME;
    GRANT pg_read_all_settings TO USERNAME;
    GRANT pg_read_all_stats TO USERNAME;
    

替换以下内容:

  • DATABASE_NAME:您要访问的 PostgreSQL 数据库的名称。
  • USERNAME:您要配置的数据库用户。
  • SCHEMA_NAME:您要访问的架构的名称。

网络前提条件

如需通过 Private Service Connect 进行连接,您需要网络连接,以便在专用网络中使用 专用 IP 地址安全地 连接到外部数据库或第三方云数据源,从而允许 BigQuery Data Transfer Service 访问 您的数据库。

如果您使用公共 IP 地址连接到本地环境或云托管实例,则无需网络连接。

配置 PostgreSQL 连接器

使用 Google Cloud 控制台或 API 配置 PostgreSQL 连接器。

控制台

  1. 在 Google Cloud 控制台中,前往 Knowledge Catalog 页面。

    前往 Knowledge Catalog

  1. 在导航菜单中的管理 部分,点击连接器
  2. 点击添加连接
  3. 连接器 列表中,选择 PostgreSQL 卡片。
  4. 数据源详细信息 部分,提供 PostgreSQL 实例的连接详细信息:
    • 对于网络连接,请根据需要选择现有网络连接或创建一个。
    • 输入主机端口数据库名称用户名密码
    • 如果使用 TLS,请选择 TLS 模式 并提供受信任的 PEM 证书
    • 对于要导入的 PostgreSQL 元数据对象,点击浏览 以选择 对象。
  5. 目标设置 部分,执行以下操作:
    • 点击浏览 ,然后选择现有的 Knowledge Catalog 条目组 以存储导入的元数据,或点击创建新条目组
    • 选择是立即还是稍后设置条目组的权限。 我们建议您设置权限,以便用户可以查看导入的元数据。如果您未在项目级向 BigQuery Data Transfer Service 服务代理 (service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.) 授予 Dataplex Entry Group Importer (roles/dataplex.entryGroupImporter) 角色或 dataplex.entryGroups.import 权限,则必须在条目组级授予。
  6. 连接器配置名称 部分的显示名称 中,输入元数据导入作业的 名称。
  7. 时间表选项 部分,配置元数据导入作业的频率。如果您选择按需,则作业仅在 您手动触发时运行。
  8. 可选:在通知选项 部分,为作业失败配置电子邮件或 Pub/Sub 通知。
  9. 可选:在高级选项 部分,配置加密设置。如果您选择客户管理的加密密钥 (CMEK),请注意,该密钥用于加密在开始 Knowledge Catalog 元数据导入作业之前暂存的所有临时数据。它不用于加密目标 Knowledge Catalog 条目组中的元数据。
  10. 点击保存

REST

使用 projects.locations.transferConfigs.create 方法。在 TransferConfig 资源中,配置以下字段:

  • dataSourceId 字段设置为 "postgresql"
  • metadataDestination 字段中,使用目标 Knowledge Catalog 条目组的资源路径填充 dataplexConfiguration 对象: projects/<var>PROJECT_ID</var>/locations/<var>LOCATION</var>/entryGroups/<var>ENTRY_GROUP_ID</var>

创建作业后,Knowledge Catalog 会根据您的配置安排首次运行,您也可以手动启动。

搜索和查看 PostgreSQL 元数据

  1. 在 Google Cloud 控制台中,前往 Knowledge Catalog 搜索 页面。

    前往“搜索”

  2. 过滤条件 面板中,您可以使用 项目系统类型别名 部分过滤 PostgreSQL 资产。在系统 部分,选择导入的上下文 。选择此过滤条件会打开托管连接器 子部分。选择 PostgreSQL 以过滤所有 PostgreSQL 元数据。

  3. 您可以使用搜索字段执行搜索查询。您可以执行关键字或自然语言搜索。例如,如需通过关键字搜索查看所有 PostgreSQL 表,请输入 system=POSTGRESQL AND type=TABLE

    如需详细了解如何搜索资源,请参阅在 Knowledge Catalog中搜索资源。如需详细了解可在搜索字段中使用的 表达式,请参阅 Knowledge Catalog 的 搜索语法

  4. 您还可以使用 LookupContext API 检索特定 PostgreSQL 资源的 LLM 上下文。

后续步骤