讀取 PostgreSQL 資料庫

本頁面說明如何從 Cloud Data Fusion 執行個體中的 PostgreSQL 資料庫讀取資料。

事前準備

  • 建立 Cloud Data Fusion 執行個體
  • 啟用 PostgreSQL 資料庫,接受來自 Cloud Data Fusion 的連線。為確保安全性,建議您使用私人 Cloud Data Fusion 執行個體。

必要的角色

如要取得連線至 PostgreSQL 資料庫所需的權限,請要求管理員授予您下列 IAM 角色:

  • 在包含叢集的專案中,將 Dataproc 工作站 (roles/dataproc.worker) 指派給 Dataproc 服務帳戶
  • 在包含叢集的專案中,在 Dataproc 服務帳戶上設定 Cloud Data Fusion 執行者 (roles/datafusion.runner)
  • 如要在不使用 Cloud SQL 驗證 Proxy 的情況下使用 Cloud SQL,請按照下列步驟操作: Cloud SQL 用戶端 (roles/cloudsql.client) 在包含 Cloud SQL 執行個體的專案中

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

您或許還可透過自訂角色或其他預先定義的角色取得必要權限。

在 Cloud Data Fusion 中開啟執行個體

  1. 在 Google Cloud 控制台中,前往 Cloud Data Fusion 頁面。

  2. 如要在 Cloud Data Fusion Studio 中開啟執行個體,請依序按一下「Instances」和「View instance」

    前往「Instances」(執行個體)

將 PostgreSQL 密碼儲存為安全金鑰

輸入 PostgreSQL 密碼做為安全金鑰,以便在 Cloud Data Fusion 執行個體中進行加密。如要進一步瞭解金鑰,請參閱 Cloud KMS

  1. 在 Cloud Data Fusion UI 中,依序按一下「系統管理」>「設定」

  2. 按一下「Make HTTP Calls」

    設定。

  3. 在下拉式選單中,選擇「PUT」

  4. 在路徑欄位中輸入 namespaces/default/securekeys/pg_password

  5. 在「Body」欄位中輸入 {"data":"POSTGRESQL_PASSWORD"}。請將 POSTGRESQL_PASSWORD 替換為 PostgreSQL 密碼。

  6. 按一下 [傳送]

    密碼。

「Response」欄位會通知你任何錯誤。

連線至 PostgreSQL 適用的 Cloud SQL

  1. 在 Cloud Data Fusion UI 中,按一下選單 ,然後前往「Wrangler」Wrangler頁面。

  2. 按一下「新增連線」

  3. 選擇「資料庫」做為要連結的來源類型。

    新增連結。

  4. 在「Google Cloud SQL for PostgreSQL」下方,點選「上傳」

    選擇來源。

  5. 上傳內含 PostgreSQL 驅動程式的 JAR 檔案。JAR 檔案必須採用 NAME-VERSION.jar 格式。如果 JAR 檔案不符合這個格式,請先重新命名再上傳。

  6. 點按「Next」

  7. 在欄位中輸入驅動程式名稱、類別名稱和版本。

  8. 按一下「完成」

  9. 在隨即開啟的「新增連線」視窗中,按一下「Google Cloud SQL for PostgreSQL」。JAR 名稱應顯示在 PostgreSQL 適用的 Google Cloud SQL 下方。

    已上傳 JAR。

  10. 填寫必填連結欄位。在「Password」欄位中,選取您先前儲存的安全金鑰。這樣就能確保系統使用 Cloud KMS 擷取密碼。

    選擇密碼。

  11. 在「連線字串」欄位中,輸入連線字串:

    jdbc:postgresql://google/DATABASE_NAME?cloudSqlInstance=INSTANCE_CONNECTION_NAME&socketFactory=com.google.cloud.sql.postgres.SocketFactory&useSSL=false
    

    更改下列內容:

    • DATABASE_NAME:Cloud SQL 資料庫名稱,如執行個體詳細資料頁面「資料庫」分頁所列。
    • INSTANCE_CONNECTION_NAME:Cloud SQL 執行個體連線名稱,如執行個體詳細資料頁面「Overview」分頁中所示。
    執行個體連線名稱。

    例如:

    jdbc:postgresql://google/postgres?cloudSqlInstance=dis-demo:us-central1:pgsql-1&socketFactory=com.google.cloud.sql.postgres.SocketFactory&useSSL=false
    

  12. 啟用 Cloud SQL Admin API。

  13. 按一下「測試連線」,確認是否能與資料庫建立連線。

  14. 按一下「新增連線」

連結 PostgreSQL 資料庫後,您可以對資料套用轉換 (在 Wrangler 中)、建立管道,並將輸出內容寫入匯出端 (在 Studio 中)。