Utilizzare la cronologia delle modifiche
La cronologia delle modifiche di BigQuery ti consente di monitorare la cronologia delle modifiche apportate a una tabella BigQuery. Puoi utilizzare le funzioni GoogleSQL per visualizzare tipi specifici di modifiche apportate durante un intervallo di tempo specificato, in modo da poter elaborare le modifiche incrementali apportate a una tabella. Comprendere le modifiche apportate a una tabella può aiutarti a eseguire operazioni come la manutenzione incrementale di una replica della tabella al di fuori di BigQuery, evitando copie costose.
Autorizzazioni obbligatorie
Per visualizzare la cronologia delle modifiche di una tabella, devi disporre dell'autorizzazione bigquery.tables.getData per quella tabella. I seguenti ruoli IAM (Identity and Access Management) predefiniti includono questa autorizzazione:
roles/bigquery.dataViewerroles/bigquery.dataEditorroles/bigquery.dataOwnerroles/bigquery.admin
Se una tabella ha o ha avuto,
policy di accesso a livello di riga, solo
un amministratore della tabella può accedere ai dati storici della tabella. L'autorizzazione bigquery.rowAccessPolicies.overrideTimeTravelRestrictions è obbligatoria per la tabella ed è inclusa nel ruolo IAM predefinito roles/bigquery.admin.
Se una tabella ha la sicurezza a livello di colonna, puoi visualizzare la cronologia delle modifiche solo nelle colonne a cui hai accesso.
Funzioni della cronologia delle modifiche
Puoi utilizzare le seguenti funzioni per comprendere la cronologia delle modifiche di una tabella:
APPENDS: restituisce tutte le righe aggiunte a una tabella per un determinato intervallo di tempo.Le seguenti operazioni aggiungono righe alla cronologia delle modifiche
APPENDS:CHANGES: restituisce tutte le righe modificate in una tabella per un determinato intervallo di tempo. Per utilizzare la funzioneCHANGESsu una tabella, devi impostare l'opzioneenable_change_historydella tabella suTRUE.Le seguenti operazioni aggiungono righe alla cronologia delle modifiche
CHANGES:- Istruzione DDL
CREATE TABLE - Istruzione DML
INSERT - Dati aggiunti o modificati come parte di un'istruzione DML
MERGE - Istruzione DML
UPDATE - Istruzione DML
DELETE - Caricamento di dati in BigQuery
- Importazione di flussi di dati in streaming
- Istruzione DML
TRUNCATE TABLE - Job configurati con un
writeDispositiondiWRITE_TRUNCATE - Eliminazioni di singole partizioni di tabelle
- Istruzione DDL
Prezzi e costi
La chiamata alle funzioni della cronologia delle modifiche
comporta costi di calcolo di BigQuery.
Le funzioni APPENDS e CHANGES richiedono l'elaborazione di tutti i dati scritti nella tabella nell'intervallo di tempo specificato. Questa elaborazione si applica a tutte le scritture, incluse le operazioni di aggiunta e mutazione.
L'impostazione dell'opzione enable_change_history di una tabella su FALSE non riduce i dati elaborati da APPENDS.
Quando imposti l'opzione
enable_change_history di una tabella su TRUE per utilizzare la funzione CHANGES,
BigQuery archivia i metadati delle modifiche della tabella. Questi metadati archiviati
comportano costi di archiviazione BigQuery aggiuntivi
e costi di calcolo BigQuery.
L'importo fatturato dipende dal numero e dal tipo di modifiche apportate alla tabella ed è in genere ridotto. Le tabelle con molte operazioni di modifica, in particolare le eliminazioni di grandi dimensioni, sono quelle che più probabilmente comportano costi notevoli.