本頁說明如何在 Cloud Data Fusion 執行個體中讀取 PostgreSQL 資料庫的資料。
事前準備
- 建立 Cloud Data Fusion 執行個體。
- 啟用 PostgreSQL 資料庫,接受來自 Cloud Data Fusion 的連線。為確保安全,建議您使用私有 Cloud Data Fusion 執行個體。
必要的角色
如要取得連線至 PostgreSQL 資料庫所需的權限,請管理員授予下列 IAM 角色:
-
Dataproc 工作站 (
roles/dataproc.worker
) 在含有叢集的專案中,對 Dataproc 服務帳戶執行此操作 -
Cloud Data Fusion Runner (
roles/datafusion.runner
) 在包含叢集的專案中,對 Dataproc 服務帳戶執行操作 -
如要在不使用 Cloud SQL 驗證 Proxy 的情況下使用 Cloud SQL,請按照下列步驟操作:
Cloud SQL 用戶端 (
roles/cloudsql.client
) 在包含 Cloud SQL 執行個體的專案中
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
在 Cloud Data Fusion 中開啟執行個體
在 Google Cloud 控制台中,前往 Cloud Data Fusion 頁面。
如要在 Cloud Data Fusion Studio 中開啟執行個體,請依序按一下「Instances」和「View instance」。
將 PostgreSQL 密碼儲存為安全金鑰
輸入 PostgreSQL 密碼做為安全金鑰,在 Cloud Data Fusion 執行個體中加密。如要進一步瞭解金鑰,請參閱 Cloud KMS。
在 Cloud Data Fusion 使用者介面中,依序點選「系統管理」>「設定」。
按一下「Make HTTP Calls」。
在下拉式選單中選擇「PUT」。
在路徑欄位中輸入
namespaces/default/securekeys/pg_password
。在「Body」欄位中輸入
{"data":"POSTGRESQL_PASSWORD"}
。 將POSTGRESQL_PASSWORD
換成 PostgreSQL 密碼。按一下 [傳送]。
「回應」欄位會通知您任何錯誤。
連線至 PostgreSQL 適用的 Cloud SQL
在 Cloud Data Fusion 使用者介面中,按一下選單 menu,然後前往「Wrangler」Wrangler頁面。
按一下「新增連線」。
選擇「資料庫」做為要連結的來源類型。
在「PostgreSQL 適用的 Google Cloud SQL」下方,按一下「上傳」。
上傳內含 PostgreSQL 驅動程式的 JAR 檔案。JAR 檔案必須採用
NAME-VERSION.jar
格式。如果 JAR 檔案不符合這個格式,請先重新命名再上傳。點選「下一步」。
在欄位中輸入驅動程式名稱、類別名稱和版本。
按一下「完成」。
在開啟的「新增連線」視窗中,按一下「Google Cloud SQL for PostgreSQL」。JAR 名稱應會顯示在「PostgreSQL 適用的 Google Cloud SQL」下方。
填寫必填的連線欄位。在「Password」(密碼) 欄位中,選取先前儲存的安全金鑰。 這樣一來,系統就會使用 Cloud KMS 擷取密碼。
在「連線字串」欄位中,輸入連線字串,格式如下:
jdbc:postgresql://google/DATABASE_NAME?cloudSqlInstance=INSTANCE_CONNECTION_NAME&socketFactory=com.google.cloud.sql.postgres.SocketFactory&useSSL=false
更改下列內容:
- :Cloud SQL 資料庫名稱,如執行個體詳細資料頁面的「資料庫」分頁中所示。
DATABASE_NAME
INSTANCE_CONNECTION_NAME
:Cloud SQL 執行個體連線名稱,顯示在執行個體詳細資料頁面的「總覽」分頁中。
例如:
jdbc:postgresql://google/postgres?cloudSqlInstance=dis-demo:us-central1:pgsql-1&socketFactory=com.google.cloud.sql.postgres.SocketFactory&useSSL=false
- :Cloud SQL 資料庫名稱,如執行個體詳細資料頁面的「資料庫」分頁中所示。
啟用 Cloud SQL Admin API。
按一下「測試連線」,確認可以與資料庫建立連線。
按一下「新增連線」。
PostgreSQL 資料庫連線完成後,您可以在 Wrangler 中轉換資料、建立管道,並在 Studio 中將輸出內容寫入接收器。