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 les fonctions GoogleSQL pour afficher des types de modifications spécifiques apportées au cours d'une période donnée. Vous pouvez ainsi 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
de la table 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 de partitions de table
- Instruction LDD
Tarification
L'appel des fonctions d'historique des modifications entraîne des coûts de calcul BigQuery.
Les fonctions APPENDS
et CHANGES
nécessitent le traitement de toutes les données écrites dans la table au cours de la période spécifiée. Ce traitement s'applique à toutes les écritures, y compris les opérations d'ajout et de mutation.
Définir l'option enable_change_history
d'une table sur FALSE
ne réduit pas les données traitées par APPENDS
.
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 et des coûts de calcul BigQuery supplémentaires.
Le montant facturé dépend du nombre et du type de modifications apportées au tableau. 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.