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 les types de modifications particuliers effectués au cours d'une période donnée, afin de pouvoir 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.

Pour afficher l'historique des modifications APPENDS sur les tables gérées Apache Iceberg, vous devez également disposer des autorisations suivantes :

Pour en savoir plus, consultez Utiliser l'historique des modifications dans Lakehouse.

Fonctions de l'historique des modifications

Vous pouvez utiliser les fonctions suivantes pour comprendre l'historique des modifications d'une table :

Tarification

L'appel des fonctions d'historique des modifications entraîne des coûts de calcul BigQuery. Les fonctions APPENDS et CHANGES nécessitent toutes deux 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 à la table. Il est généralement faible. Les tables qui subissent de nombreuses opérations de modification, en particulier des suppressions importantes, sont les plus susceptibles d'entraîner des coûts notables.