使用變更記錄

BigQuery 變更記錄可讓您追蹤 BigQuery 資料表的變更記錄。您可以使用 GoogleSQL 函式,查看在指定日期範圍內進行的特定類型變更,以便處理資料表的增量變更。瞭解資料表有哪些變更,有助於您在 BigQuery 外部逐步維護資料表副本,同時避免高昂的複製費用。

所需權限

如要查看資料表的變更記錄,您必須具備該資料表的 bigquery.tables.getData 權限。下列預先定義的 Identity and Access Management (IAM) 角色包含這項權限:

  • roles/bigquery.dataViewer
  • roles/bigquery.dataEditor
  • roles/bigquery.dataOwner
  • roles/bigquery.admin

如果資料表有或曾有資料列層級存取權政策,則只有資料表管理員可以存取資料表的歷來資料。您必須具備資料表的 bigquery.rowAccessPolicies.overrideTimeTravelRestrictions 權限,這項權限包含在預先定義的 roles/bigquery.admin IAM 角色中。

如果資料表設有資料欄層級安全性,您只能查看有權存取的資料欄變更記錄。

如要查看 Apache Iceberg 代管資料表的 APPENDS 變更記錄,您也必須具備下列權限:

詳情請參閱「在 Lakehouse 中使用變更記錄」。

變更記錄功能

您可以使用下列函式瞭解資料表的變更記錄:

定價和費用

呼叫變更記錄函式會產生 BigQuery 運算費用。APPENDS 和 CHANGES 函式都需要處理在指定日期範圍內寫入資料表的所有資料。這項處理作業適用於所有寫入作業,包括附加和異動作業。將資料表的 enable_change_history 選項設為 FALSE,並不會減少 APPENDS 處理的資料量。

將資料表的 enable_change_history 選項設為 TRUE,以便使用 CHANGES 函式時,BigQuery 會儲存資料表變更中繼資料。儲存這類中繼資料會產生額外的 BigQuery 儲存費用和 BigQuery 運算費用。計費金額取決於資料表變更的數量和類型,通常金額不高。如果資料表有許多變更作業,尤其是大量刪除作業,最有可能產生明顯費用。