使用變更記錄

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 角色也具備這項權限。

如果表格設有資料欄層級的安全防護機制,您只能查看自己有權存取的資料欄變更記錄。

變更記錄功能

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

價格和費用

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

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