Änderungsverlauf verwenden
Mit dem BigQuery-Änderungsverlauf können Sie den Änderungsverlauf einer BigQuery-Tabelle verfolgen. Mit GoogleSQL-Funktionen können Sie bestimmte Arten von Änderungen sehen, die in einem bestimmten Zeitraum vorgenommen wurden, damit Sie inkrementelle Änderungen an einer Tabelle verarbeiten können. Wenn Sie wissen, welche Änderungen an einer Tabelle vorgenommen wurden, können Sie beispielsweise ein Tabellenreplikat inkrementell außerhalb von BigQuery pflegen und teure Kopien vermeiden.
Erforderliche Berechtigungen
Zum Aufrufen des Änderungsverlaufs einer Tabelle benötigen Sie die Berechtigung bigquery.tables.getData
für diese Tabelle. Die folgenden vordefinierten IAM-Rollen (Identity and Access Management) enthalten diese Berechtigung:
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.admin
Wenn eine Tabelle Zugriffsrichtlinien auf Zeilenebene hat oder hatte, kann nur ein Tabellenadministrator auf Verlaufsdaten für die Tabelle zugreifen. Die Berechtigung bigquery.rowAccessPolicies.overrideTimeTravelRestrictions
ist für die Tabelle erforderlich und in der vordefinierten IAM-Rolle roles/bigquery.admin
enthalten.
Wenn eine Tabelle die Sicherheit auf Spaltenebene bietet, können Sie den Änderungsverlauf nur für die Spalten aufrufen, auf die Sie Zugriff haben.
Funktionen für den Änderungsverlauf
Mit den folgenden Funktionen können Sie den Änderungsverlauf einer Tabelle nachvollziehen:
APPENDS
: Gibt alle Zeilen zurück, die für einen bestimmten Zeitraum an eine Tabelle angehängt sind.Die folgenden Vorgänge fügen dem Änderungsverlauf
APPENDS
Zeilen hinzu:CHANGES
: gibt alle Zeilen zurück, die sich in einer Tabelle für einen bestimmten Zeitraum geändert haben. Wenn Sie die FunktionCHANGES
in einer Tabelle verwenden möchten, müssen Sie dieenable_change_history
-Option der Tabelle aufTRUE
festlegen.Die folgenden Vorgänge fügen dem Änderungsverlauf
CHANGES
Zeilen hinzu:- DDL-Anweisung
CREATE TABLE
- DML-Anweisung
INSERT
- Daten, die als Teil einer
MERGE
-DML-Anweisung angehängt oder geändert wurden - DML-Anweisung
UPDATE
- DML-Anweisung
DELETE
- Daten in BigQuery laden
- Streamingaufnahme
- DML-Anweisung
TRUNCATE TABLE
- Jobs, die mit einer
writeDisposition
vonWRITE_TRUNCATE
konfiguriert sind - Einzelnes Löschen von Tabellenpartitionen
- DDL-Anweisung
Preise und Kosten
Für den Aufruf von Änderungsverlaufsfunktionen fallen Kosten für das BigQuery-Computing an.
Wenn Sie die enable_change_history
-Option für eine Tabelle auf TRUE
festlegen, um die Funktion CHANGES
zu verwenden, speichert BigQuery Metadaten zu Tabellenänderungen. Für diese gespeicherten Metadaten fallen BigQuery-Speicherkosten an. Der in Rechnung gestellte Betrag hängt von der Anzahl und Art der an der Tabelle vorgenommenen Änderungen ab und ist in der Regel gering. Bei Tabellen mit vielen Änderungsvorgängen, insbesondere bei großen Löschvorgängen, sind mit hoher Wahrscheinlichkeit erhebliche Kosten verbunden.