Utiliser l'historique des modifications
L'historique des modifications de BigQuery vous permet de suivre l'historique des modifications apportées à une table BigQuery. Vous pouvez utiliser des fonctions GoogleSQL pour afficher des types particuliers de modifications effectuées au cours d'une période donnée, afin de traiter les modifications incrémentielles apportées à une table. Comprendre les modifications apportées à une table peut vous aider à effectuer des opérations telles que la gestion incrémentielle d'une instance dupliquée en dehors de BigQuery tout en évitant les copies coûteuses.
Autorisations requises
Pour afficher l'historique des modifications d'une table, vous devez disposer de l'autorisation bigquery.tables.getData
sur cette table. Les rôles de gestion de l'authentification et des accès (IAM) prédéfinis suivants incluent cette autorisation:
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.admin
Si une table dispose ou a eu des règles d'accès au niveau des lignes, seul un administrateur de table peut accéder aux données historiques de la table. L'autorisation bigquery.rowAccessPolicies.overrideTimeTravelRestrictions
est requise pour la table et est incluse dans le rôle IAM roles/bigquery.admin
prédéfini.
Si une table dispose d'une sécurité au niveau des colonnes, vous ne pouvez afficher l'historique des modifications que sur les colonnes auxquelles vous avez accès.
Fonctions de l'historique des modifications
Vous pouvez utiliser les fonctions suivantes pour comprendre l'historique des modifications d'une table :
APPENDS
: renvoie toutes les lignes ajoutées à une table pour une période donnée.Les opérations suivantes ajoutent des lignes à l'historique des modifications
APPENDS
:CHANGES
: renvoie toutes les lignes qui ont été modifiées dans une table au cours d'une période donnée. Pour utiliser la fonctionCHANGES
sur une table, vous devez définir l'optionenable_change_history
surTRUE
.Les opérations suivantes ajoutent des lignes à l'historique des modifications
CHANGES
:- Instruction LDD
CREATE TABLE
- Instruction LMD
INSERT
- Données ajoutées ou modifiées au sein d'une instruction LMD
MERGE
- Instruction LMD
UPDATE
- Instruction LMD
DELETE
- Charger des données dans BigQuery
- Ingestion en flux continu
- Instruction LMD
TRUNCATE TABLE
- Jobs configurés avec la valeur de
writeDisposition
définie surWRITE_TRUNCATE
- Suppression individuelle des partitions de table
- Instruction LDD
Tarification
L'appel des fonctions d'historique des modifications entraîne des coûts de calcul BigQuery.
Lorsque vous définissez l'option enable_change_history
d'une table sur TRUE
afin d'utiliser la fonction CHANGES
, BigQuery stocke les métadonnées de modification de table. Ces métadonnées stockées entraînent des coûts de stockage BigQuery. Le montant facturé dépend du nombre et du type de modifications apportées à la table. Il est généralement faible. Les tables qui comportent de nombreuses opérations de modification, en particulier des suppressions importantes, sont les plus susceptibles d'entraîner des coûts notables.