透過 Datastream 的自動化串流設定流程,您可以直接從執行個體總覽頁面,將 Cloud SQL 執行個體的資料複製到 BigQuery。這項流程支援 PostgreSQL 適用的 Cloud SQL、MySQL 適用的 Cloud SQL,以及 SQL Server 適用的 Cloud SQL 來源。Datastream 會自動設定虛擬私有雲 (VPC) 連線、來源資料庫設定和串流資源。
如要使用自動化流程,來源 Cloud SQL 執行個體必須啟用私人服務存取權,並使用 Private Service Connect 介面。如要進一步瞭解來源規定,請參閱「事前準備」。
事前準備
- 啟用 Datastream、網路連線 和 Compute Engine API。
- 確認您具備必要的 Identity and Access Management (IAM) 權限,可建立及管理 Datastream 資源。詳情請參閱下節。
- 建立並設定來源 Cloud SQL 資料庫,以便進行複製作業。詳情請參閱「設定來源」。
- 確認來源資料庫已設為使用私人服務連線。
PostgreSQL 適用的 Cloud SQL 執行個體:建議您先為執行個體啟用邏輯複製功能,再建立串流。如果您未啟用邏輯複製功能,Datastream 會為您啟用,並重新啟動來源執行個體。
MySQL 適用的 Cloud SQL 執行個體:為 MySQL 適用的 Cloud SQL 執行個體啟用時間點復原功能,並確認資料庫版本為 8.0.14 以上。使用自動化串流設定時,Datastream 僅支援在標準備份級別啟用時間點復原功能。
SQL Server 適用的 Cloud SQL 執行個體:確認 Datastream 支援執行個體使用的 SQL Server 版本。
所需權限
如要使用自動串流建立流程,您必須具備下列 Identity and Access Management (IAM) 角色或權限:
serviceusage.services.enable、compute.networkAdmin,用於啟用必要 API 及執行網路設定工作。cloudsql.admin:用於執行個體設定工作。datastream.admin:用於 Datastream 代為執行的管理工作。
PostgreSQL 適用的 Cloud SQL 額外權限
- 請確認您已將所選資料庫中所有結構定義和資料表的存取權,授予
postgres或cloudsqlsuperuser角色。根據預設,自動化流程會納入資料庫中的所有結構定義和資料表,因此如果自動建立的資料庫使用者缺少任何結構定義或資料表的權限,串流建立作業就會失敗。 如果選擇自訂串流設定,資料庫管理員使用者也需要具備要複製結構定義的
GRANT權限,以及來源資料庫中管理和結構工作的其他權限。連線至來源資料庫,然後執行下列指令:GRANT cloudsqlsuperuser 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權限。
建立並啟動串流
如要建立及啟動串流,請按照下列步驟操作:
控制台
前往來源 Cloud SQL 資料庫執行個體的總覽頁面。
選取要串流資料的執行個體。
在「Replicate data to BigQuery」(將資料複製到 BigQuery) 區段中,按一下「Start stream」(啟動串流)。
「Start stream to replicate data」(啟動串流來複製資料) 窗格隨即開啟。
如果是 PostgreSQL 適用的 Cloud SQL 和 MySQL 適用的 Cloud SQL 來源,請在「Stream settings」(串流設定) 下方,查看您建立的串流預設設定。如果是 SQL Server 適用的 Cloud SQL 來源,請前往「自訂串流設定」一節。
如果已準備好建立及開始直播,請按一下「開始直播」。
如要變更直播設定,請按一下「自訂」。
自訂串流設定
按一下「Customize」(自訂),系統會顯示「Customize stream settings」(自訂串流設定) 頁面。確認您具備自訂串流設定的必要權限。
開始使用
- 在「Get started」(開始使用) 頁面的「Stream name」(串流名稱) 欄位中,輸入串流名稱。系統會自動填入專屬 ID。
在「Provide the instance user account details」(提供執行個體使用者帳戶詳細資料) 部分,選取驗證方式:
IAM 資料庫驗證:如果使用者已獲派 Identity and Access Management (IAM) 主體身分,即可使用這個選項。詳情請參閱「IAM 主體」。如果選取這個選項,您必須手動將
cloudsqlsuperuser角色和CREATEROLE權限授予使用者:- 前往 Google Cloud 控制台的「Cloud SQL Instances」(Cloud SQL 執行個體) 頁面。
前往「Cloud SQL Instances」(Cloud SQL 執行個體) 頁面
- 選取 Cloud SQL 執行個體。
- 在導覽選單中,按一下「Cloud SQL Studio」並登入。
- 在「Explorer」窗格中,為使用者執行下列查詢:
GRANT cloudsqlsuperuser TO "USER_NAME"; ALTER ROLE "USER_NAME" CREATEROLE;
- 內建資料庫驗證:提供具備
cloudsqlsuperuser角色的使用者名稱和密碼。如果選取這個選項,請確認使用者對要複製的資料表具備GRANT權限。
查看其他串流詳細資料,例如區域、加密和標籤。展開「Additional stream details」(其他串流詳細資料) 部分,視需要套用變更。
按一下「繼續」。
設定來源
在「Configure stream source」(設定串流來源) 頁面中,選取要複製資料的資料庫。
根據預設,「Objects to include」(要納入的物件) 清單會選取所有可用物件。清單中的物件是您具備必要權限可串流的物件。如要變更所選物件,請修改清單中的選項。
查看進階串流設定,例如補充模式和補充作業並行連線數量上限。展開「Advanced stream configurations」(進階串流設定) 專區,視需要套用變更。
按一下「繼續」。
設定目的地
- 在「Configure destination」(設定目的地) 頁面中,視需要調整 BigQuery 目的地設定。詳情請參閱「設定串流目的地的相關資訊」。
建立並啟動串流
按一下「Create and start later」(建立並稍後啟動),即可建立串流並稍後在 Datastream 中啟動;或按一下「Start」(啟動),立即建立並啟動串流。
系統會通知你自動執行的工作:
- Datastream 會建立必要的虛擬私有雲資源,例如內部 IP 位址範圍、子網路和網路連結。
- Datastream 會設定 CDC 資料表、設定複製運算單元、為資料庫中的所有資料表設定發布項目,以及建立專屬 Datastream 使用者。
- Datastream 會建立私人連線設定,以及來源和目的地連線設定檔。
確認要建立或建立並啟動串流。
監控串流
您可以在 Google Cloud 控制台的來源執行個體總覽頁面,監控基本串流詳細資料。頁面會顯示串流狀態、串流名稱、目的地 BigQuery 資料集和目的地專案 ID 等資訊。
您也可以在總覽頁面執行啟動或暫停串流等動作。如要查看更精細的監控資訊,請按一下串流名稱,前往 Datastream。
刪除串流
刪除使用自動化流程建立的串流時,系統會自動刪除部分資源,例如 PostgreSQL 複製運算單元。不過,您必須手動刪除下列資源:
- 出版品。發布作業是使用資料庫管理員使用者建立,且只能由擁有者 (預設為建立者) 刪除。
- Datastream 讀取者。
- Datastream 來源和目的地連線設定檔
- 私人連線資源。
- 自動化流程期間建立的所有網路資源,例如子網路和網路連結。