本文說明如何使用 Knowledge Catalog 連接器,將 PostgreSQL 的中繼資料匯入 Knowledge Catalog (舊稱 Dataplex Universal Catalog)。
這個連接器支援地端部署、Cloud SQL 或其他雲端環境代管的 PostgreSQL 執行個體。
事前準備
從 PostgreSQL 匯入中繼資料前,請先完成下列工作:
IAM 角色和權限
如要建立及管理 Knowledge Catalog 連接器工作,您需要 Identity and Access Management (IAM) 角色,授予 Knowledge Catalog 和 BigQuery 資料移轉服務的權限。
如要取得設定 PostgreSQL 連接器所需的權限,請要求管理員授予您下列 IAM 角色:
- 如要建立及管理項目群組,您必須在專案中具備 Dataplex Catalog 管理員 (
roles/dataplex.catalogAdmin)、Dataplex Catalog 編輯者 (roles/dataplex.catalogEditor) 或 Dataplex 項目群組擁有者 (roles/dataplex.entryGroupOwner) 角色。 - 如要建立及管理 BigQuery 資料移轉服務移轉作業,您必須是專案的 BigQuery 管理員 (
roles/bigquery.admin)。 - 如要在 Cloud Logging 中查看記錄,請在專案中開啟記錄檢視器 (
roles/logging.viewer)。
此外,您必須授予 BigQuery 資料移轉服務服務代理程式 (service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com) dataplex.entryGroups.import 權限或「Dataplex Entry Group Importer」(Dataplex 項目群組匯入者) (roles/dataplex.entryGroupImporter) 角色。您可以在專案層級或項目群組層級授予這個角色。
如要進一步瞭解如何授予角色,請參閱「管理存取權」。
啟用 API
啟用 Knowledge Catalog 和 BigQuery 資料移轉服務 API。
PostgreSQL 必要條件
請確認您符合 PostgreSQL 轉移作業的先決條件。詳情請參閱 BigQuery 資料移轉服務說明文件中的 PostgreSQL 先決條件。
除了 BigQuery 資料移轉服務的必要條件外,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 資料移轉服務存取資料庫。
如要使用公用 IP 位址連線至地端部署環境或雲端代管執行個體,則不需要網路連結。
設定 PostgreSQL 連接器
使用 Google Cloud 控制台或 API 設定 PostgreSQL 連接器。
控制台
前往 Google Cloud 控制台的「Knowledge Catalog」頁面。
- 在導覽選單的「管理」部分中,按一下「連接器」。
- 按一下「新增連線」。
- 在「連線器」清單中,選取「PostgreSQL」資訊卡。
- 在「Data source details」(資料來源詳細資料) 專區,提供 PostgreSQL 執行個體的連線詳細資料:
- 在「Network attachment」(網路連結) 部分,視需要選取現有的網路連結,或是建立一個。
- 輸入「主機」、「通訊埠」、「資料庫名稱」、「使用者名稱」和「密碼」。
- 如果使用 TLS,請選取「TLS Mode」(TLS 模式),並提供「Trusted PEM Certificate」(信任的 PEM 憑證)。
- 在「PostgreSQL metadata objects to import」(要匯入的 PostgreSQL 中繼資料物件) 部分,點選「Browse」(瀏覽) 選取物件。
- 在「目的地設定」部分:
- 按一下「瀏覽」,然後選取現有的「知識目錄項目群組」來儲存匯入的中繼資料,或按一下「建立新的項目群組」。
- 選擇要立即或稍後設定項目群組權限。
建議您設定權限,讓使用者可以查看匯入的中繼資料。如果未在專案層級將 Dataplex 項目群組匯入者 (roles/dataplex.entryGroupImporter) 角色或 dataplex.entryGroups.import 權限授予 BigQuery 資料移轉服務服務代理程式 (
service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com),則必須在項目群組層級授予。
- 在「Connector config name」(連接器設定名稱) 部分,「Display name」(顯示名稱) 請輸入中繼資料匯入工作的名稱。
- 在「Schedule options」(排程選項) 專區中,設定中繼資料匯入工作的頻率。如果選取「On-demand」(隨選),這項工作只會在您手動觸發後執行。
- 選用步驟:在「Notification options」(通知選項) 部分,設定作業失敗的電子郵件或 Pub/Sub 通知。
- 選用:在「Advanced options」(進階選項) 部分,設定加密設定。如果您選取客戶自行管理的加密金鑰 (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 會根據設定排定首次執行時間,您也可以手動啟動工作。
後續步驟
- 瞭解如何管理連結器工作。