設定 Cloud Storage 目標位置

啟用 API

如果目的地 Cloud Storage 值區與 Datastream 位於同一專案,只需啟用 Datastream API 即可。

如要將資料寫入其他專案中的值區,必須先將權限授予和 Datastream 相關聯的服務帳戶,讓帳戶能夠存取該值區。

  1. 取得服務帳戶所用的電子郵件地址。請先在 Google Cloud 控制台首頁中找到「專案編號」,服務帳戶的電子郵件地址即為 service-[project_number]@gcp-sa-datastream.iam.gserviceaccount.com
  2. 請將必要的權限授予這個電子郵件地址,以便寫入目的地值區 (通常為 roles/storage.objectViewerroles/storage.objectCreatorroles/storage.legacyBucketReader 權限)。

指定目標值區和前置字串

在串流設定中提供專案名稱、值區名稱和選用的檔案前置字串,以決定資料的寫入位置。

寫入行為

  • 系統會將特定串流的資料寫入提供的值區或檔案前置字串:[bucket]/[prefix]/[object name]/yyyy/mm/dd/hh/mm/[filename(idempotent)]
  • 資料庫來源路徑中的物件名稱為結構定義名稱,後面接著資料表名稱 (以底線「_」分隔)。
  • 路徑中的時間戳記 (hh/mm) 是事件中繼資料的來源時間戳記。
    • 對於補充事件,時間戳記代表補充工作開始的時間 (通常是串流開始時,或補充作業手動觸發時)。
    • 對於 CDC 事件,時間戳記代表來源上記錄變更的時間。
  • 檔案會在達到檔案大小上限或逾時上限時輪替,以先達到者為準。您可以使用 Datastream API 調整最大檔案大小和最大逾時值。
  • 此外,每次偵測到來源結構定義變更 (例如新增資料欄) 時,系統就會輪替檔案。
  • 同一個路徑中可能會有多個檔案,且每個檔案的時間都相同。
  • 您可以根據 Cloud Storage API 使用資料。
  • 將資料串流傳輸至 Cloud Storage 時,事件大小上限為 100 MB。

在某些情況下 (最常發生在串流首次開始執行時),回填和 CDC 之間會重疊,導致事件重複。發生這種情況時,Datastream 會開始讀取目前的資料庫記錄檔 (在串流開始前建立),而這個記錄檔包含了一些也由補齊作業擷取的事件。這是預期的行為,如有需要,您可以使用事件中繼資料來消除重複的事件。

後續步驟