您可以使用 Datastream 的自動化串流設定流程,直接從叢集總覽頁面,將 AlloyDB for PostgreSQL 叢集的資料複製到 BigQuery。Datastream 會自動設定虛擬私有雲 (VPC) 連線、來源資料庫設定和串流資源,簡化設定程序。
Datastream 會從主要 AlloyDB 叢集中的主要執行個體建立串流,即使部署作業包含次要叢集或執行個體也一樣。如要使用自動化流程,主要執行個體必須啟用私人服務存取權,並使用 Private Service Connect 介面。
免費方案
Datastream 可讓您使用免費方案,將 AlloyDB for PostgreSQL 的資料串流至 BigQuery,每月最多可免費提供 100 GiB 的變更資料擷取資料。詳情請參閱 Datastream 定價。
事前準備
- 啟用 Datastream、網路連線 和 Compute Engine API。
- 確認您具備必要的 Identity and Access Management (IAM) 權限,可建立及管理 Datastream 資源。詳情請參閱下節。
- 建立並設定來源 AlloyDB for PostgreSQL 叢集,以便進行複製。詳情請參閱「設定 AlloyDB for PostgreSQL 資料庫的 CDC」。
建議您先為叢集啟用邏輯複製功能,再建立串流。如果您未啟用邏輯複製功能,Datastream 會為您啟用,並重新啟動來源執行個體。
如要瞭解如何為 AlloyDB for PostgreSQL 叢集啟用邏輯複製功能,請參閱「設定 AlloyDB for PostgreSQL 資料庫以進行 CDC」。
確認來源叢集已設為使用私人服務連線。
所需權限
如要使用自動串流建立流程,您必須具備下列 Identity and Access Management (IAM) 角色或權限:
serviceusage.services.enable、compute.networkAdmin,用於啟用必要 API 及執行網路設定工作。alloydb.admin:用於叢集和執行個體設定工作。datastream.admin:用於 Datastream 代為執行的管理工作。
請確認所選資料庫中的所有結構定義和資料表,都已授予 postgres 或 alloydbsuperuser 角色。根據預設,自動化流程會納入資料庫中的所有結構定義和資料表,因此如果自動建立的使用者缺少任何結構定義或資料表的權限,串流建立作業就會失敗。
如果您選擇自訂串流設定,資料庫管理員使用者也需要具備要複製結構定義的 GRANT 權限,以及來源資料庫中管理和結構工作的其他權限。連線至來源資料庫,然後執行下列指令:
GRANT alloydbsuperuser TO "USER_NAME"; ALTER ROLE "USER_NAME" CREATEROLE; GRANT SELECT on ALL TABLES IN SCHEMA "SCHEMA_NAME" to"USER_NAME" WITH GRANT OPTION; ALTER DEFAULT PRIVILEGES IN SCHEMA "SCHEMA_NAME" GRANT SELECT ON TABLES TO "USER_NAME" WITH GRANT OPTION; GRANT CREATE ON DATABASE "DATABASE_NAME" TO "USER_NAME";
未來的資料表
只有在自動化流程中,由您提供帳戶詳細資料進行驗證的使用者建立資料表,系統才會自動將日後的資料表新增至串流。如果日後有其他使用者建立資料表,該使用者必須明確授予 Datastream 讀取者對資料表的 SELECT 權限。
建立並啟動串流
如要建立及啟動串流,請按照下列步驟操作:
控制台
前往來源 AlloyDB for PostgreSQL 叢集總覽頁面。
按一下要串流資料的主要叢集。
透過下列任一方式,自動建立及啟動串流:
- 在「Cluster details」(叢集詳細資料) 頁面的「Data replication」(資料複製) 下方,按一下「Start stream」(啟動串流)。
- 在「Integrations」(整合) 專區,按一下「Replicate data to BigQuery」(將資料複製到 BigQuery) 下方的「Start stream」(啟動串流)。
- 在「Launchpad」分頁的「Seamlessly integrate with otherGoogle Cloud products」(與其他Google Cloud 產品完美整合) 下方,按一下「Replicate data to BigQuery」(將資料複製到 BigQuery)。
「Start stream to replicate data」(啟動串流來複製資料) 窗格隨即開啟。
在「Stream settings」(串流設定) 下方,查看您建立的串流預設設定。
如要變更來源資料庫,請展開對應的下拉式選單,然後選取其他值。
如果已準備好建立及開始直播,請按一下「開始直播」。
如要變更直播設定,請按一下「自訂」。
自訂串流設定
按一下「Customize」(自訂),系統會顯示「Customize stream settings」(自訂串流設定) 頁面。確認您具備自訂串流設定的必要權限。
開始使用
- 在「Get started」(開始使用) 頁面的「Stream name」(串流名稱) 欄位中,輸入串流名稱。系統會自動填入「Stream ID」欄位。
在「Provide the instance user account details」(提供執行個體使用者帳戶詳細資料) 部分,選取驗證方式:
IAM 資料庫驗證:如果使用者已獲派 Identity and Access Management (IAM) 主體身分,即可使用這個選項。詳情請參閱「IAM 主體」。如果選取這個選項,您必須手動將
alloydbsuperuser角色和CREATEROLE權限授予使用者:- 前往 Google Cloud 控制台的「AlloyDB for PostgreSQL 叢集」頁面。
- 選取 AlloyDB for PostgreSQL 叢集。
- 在導覽選單中,點選「AlloyDB for PostgreSQL Studio」並登入。
- 在「Explorer」窗格中,為使用者執行下列查詢:
GRANT alloydbsuperuser TO "USER_NAME"; ALTER ROLE "USER_NAME" CREATEROLE;
- 內建資料庫驗證:提供具備
alloydbsuperuser角色的使用者名稱和密碼。如果使用者沒有alloydbsuperuser角色,請按照 IAM 資料庫驗證一節所述的步驟,手動授予該角色。如果選取內建資料庫驗證,也請確認使用者對要複製的資料表具備GRANT權限。
查看其他串流詳細資料,例如區域、加密和標籤。展開「Additional stream details」(其他串流詳細資料) 部分,視需要套用變更。
按一下「繼續」。
設定來源
在「Configure source」(設定來源) 頁面中,選取要複製資料的資料庫。
根據預設,「Selected objects」(所選物件) 清單會選取所有可用物件。清單中的物件是您具備必要權限可串流的物件。如要變更所選物件,請修改清單中的選項。
查看進階串流設定,例如補充模式和補充作業並行連線數量上限。展開「Advanced stream configurations」(進階串流設定) 專區,視需要套用變更。
按一下「繼續」。
設定目的地
- 在「Configure destination」(設定目的地) 頁面中,視需要調整 BigQuery 目的地設定。詳情請參閱「設定串流目的地的相關資訊」。
建立並啟動串流
按一下「Create and start」(建立並啟動) 即可建立及啟動串流,或按一下「Create without starting」(建立但不啟動) 建立串流,稍後再透過 Datastream 啟動。
系統會通知你自動執行的工作:
- Datastream 會建立必要的虛擬私有雲資源,例如內部 IP 位址範圍、子網路和網路連結。
- Datastream 會設定 CDC 資料表、設定複製運算單元、為資料庫中的所有資料表設定發布項目,以及建立專屬 Datastream 使用者。
- Datastream 會建立私人連線設定,以及來源和目的地連線設定檔。
確認要建立並啟動串流。
監控串流
您可以在 Google Cloud 控制台的來源執行個體總覽頁面,監控基本串流詳細資料。頁面會顯示串流狀態、串流名稱、目的地 BigQuery 資料集和目的地專案 ID 等資訊。
您也可以在總覽頁面執行啟動或暫停串流等動作。如要查看更精細的監控資訊,請按一下串流名稱,前往 Datastream。
刪除串流
刪除使用自動化流程建立的串流時,系統會自動刪除部分資源,例如 PostgreSQL 複製運算單元。不過,您必須手動刪除下列資源:
- 出版品。發布作業是使用資料庫管理員使用者建立,且只能由擁有者 (預設為建立者) 刪除。
- Datastream 讀取者。
- Datastream 來源和目的地連線設定檔
- 私人連線資源。
- 自動化流程期間建立的所有網路資源,例如子網路和網路連結。
後續步驟
- 瞭解如何手動建立串流。
- 瞭解如何設定 AlloyDB for PostgreSQL 來源。
- 進一步瞭解如何監控串流。