本文档介绍了如何使用 Knowledge Catalog 连接器将元数据从 PostgreSQL 导入 Knowledge Catalog(以前称为 Dataplex Universal Catalog)。
此连接器支持托管在本地、Cloud SQL 或其他云环境中的 PostgreSQL 实例。
准备工作
如需从 PostgreSQL 导入元数据,请先完成以下任务:
- 授予所需的 角色和权限。
- 启用 Knowledge Catalog 和 BigQuery Data Transfer Service API。
- 满足 PostgreSQL 前提条件。
- 满足网络前提条件。
IAM 角色和权限
如需创建和管理 Knowledge Catalog 连接器作业,您需要具有 Identity and Access Management (IAM) 角色,这些角色可授予 Knowledge Catalog 和 BigQuery Data Transfer Service 的权限。
如需获得配置 PostgreSQL 连接器所需的权限,请让您的管理员为您授予以下 IAM 角色:
- 如需创建和管理条目组:项目的 Dataplex Catalog Admin
(
roles/dataplex.catalogAdmin)、Dataplex Catalog Editor (roles/dataplex.catalogEditor) 或 Dataplex Entry Group Owner (roles/dataplex.entryGroupOwner)。 - 如需创建和管理 BigQuery Data Transfer Service 转移作业:BigQuery Admin
(
roles/bigquery.admin)。 - 如需在 Cloud Logging 中查看日志:项目的 Logs Viewer
(
roles/logging.viewer)。
此外,您还必须向 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。
PostgreSQL 前提条件
确保满足 PostgreSQL 转移作业的前提条件。如需了解详情, 请参阅 BigQuery Data Transfer Service 文档中的 PostgreSQL 前提条件。
除了 BigQuery Data Transfer Service 前提条件之外,您的 PostgreSQL 数据库还必须满足以下元数据提取要求:
- 最低版本: PostgreSQL 15 或更高版本。
- 最低所需权限: 提取工具需要特定权限才能成功收集元数据。
如需授予这些权限,请运行以下 SQL 语句:
授予数据库连接权限:
GRANT CONNECT ON DATABASE DATABASE_NAME TO USERNAME;授予架构使用权限:
GRANT USAGE ON SCHEMA SCHEMA_NAME TO USERNAME;向用户授予所需的读取角色:
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 连接器。
控制台
在 Google Cloud 控制台中,前往 Knowledge Catalog 页面。
- 在导航菜单中的管理 部分,点击连接器 。
- 点击添加连接 。
- 在连接器 列表中,选择 PostgreSQL 卡片。
- 在数据源详细信息 部分,提供 PostgreSQL 实例的连接详细信息:
- 对于网络连接,请根据需要选择现有网络连接或创建一个。
- 输入主机、端口、数据库名称、用户名和 密码。
- 如果使用 TLS,请选择 TLS 模式 并提供受信任的 PEM 证书 。
- 对于要导入的 PostgreSQL 元数据对象,点击浏览 以选择 对象。
- 在目标设置 部分,执行以下操作:
- 点击浏览 ,然后选择现有的 Knowledge Catalog 条目组 以存储导入的元数据,或点击创建新条目组 。
- 选择是立即还是稍后设置条目组的权限。
我们建议您设置权限,以便用户可以查看导入的元数据。如果您未在项目级向 BigQuery Data Transfer Service 服务代理
(
service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.) 授予 Dataplex Entry Group Importer (roles/dataplex.entryGroupImporter) 角色或 dataplex.entryGroups.import 权限,则必须在条目组级授予。
- 在连接器配置名称 部分的显示名称 中,输入元数据导入作业的 名称。
- 在时间表选项 部分,配置元数据导入作业的频率。如果您选择按需,则作业仅在 您手动触发时运行。
- 可选:在通知选项 部分,为作业失败配置电子邮件或 Pub/Sub 通知。
- 可选:在高级选项 部分,配置加密设置。如果您选择客户管理的加密密钥 (CMEK),请注意,该密钥用���加密在开始 Knowledge Catalog 元数据导入作业之前暂存的所有临时数据。它不用于加密目标 Knowledge Catalog 条目组中的元数据。
- 点击保存 。
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 元数据
在 Google Cloud 控制台中,前往 Knowledge Catalog 搜索 页面。
在过滤条件 面板中,您可以使用 项目 、系统 和类型别名 部分过滤 PostgreSQL 资产。在系统 部分,选择导入的上下文 。选择此过滤条件会打开托管连接器 子部分。选择 PostgreSQL 以过滤所有 PostgreSQL 元数据。
您可以使用搜索字段执行搜索查询。您可以执行关键字或自然语言搜索。例如,如需通过关键字搜索查看所有 PostgreSQL 表,请输入
system=POSTGRESQL AND type=TABLE。如需详细了解如何搜索资源,请参阅在 Knowledge Catalog中搜索资源。如需详细了解可在搜索字段中使用的 表达式,请参阅 Knowledge Catalog 的 搜索语法。
您还可以使用 LookupContext API 检索特定 PostgreSQL 资源的 LLM 上下文。
后续步骤
- 了解如何管理连接器作业。