Trabalhar com o histórico de alterações

O histórico de alterações do BigQuery permite rastrear o histórico de alterações em uma tabela do BigQuery. Você pode usar as funções do GoogleSQL para ver tipos específicos de alterações feitas durante um período específico. Dessa forma, é possível processar alterações incrementais feitas em uma tabela. Entender quais alterações foram feitas em uma tabela pode ajudar você a realizar tarefas como manter uma réplica de tabela fora do BigQuery e evitar cópias caras.

Permissões necessárias

Para ver o histórico de alterações em uma tabela, é necessário ter a permissão bigquery.tables.getData nela. Os seguintes papéis predefinidos do Identity and Access Management (IAM) incluem essa permissão:

  • roles/bigquery.dataViewer
  • roles/bigquery.dataEditor
  • roles/bigquery.dataOwner
  • roles/bigquery.admin

Se uma tabela tiver ou teve políticas de acesso no nível da linha, somente um administrador poderá acessar os dados históricos da tabela. A permissão bigquery.rowAccessPolicies.overrideTimeTravelRestrictions é necessária na tabela e está incluída no papel predefinido do IAM roles/bigquery.admin.

Se uma tabela tiver segurança no nível da coluna, só será possível ver o histórico de alterações nas colunas a que você tem acesso.

Funções do histórico de alterações

É possível usar as seguintes funções para entender o histórico de alterações de uma tabela:

Preços e custos

Chamar funções do histórico de alterações gera custos de computação do BigQuery.

Quando você define a opção enable_change_history em uma tabela como TRUE para usar a função CHANGES, o BigQuery armazena metadados de alteração de tabela. Esse metadado armazenado gera custos de armazenamento do BigQuery. O valor faturado depende do número e do tipo de alterações feitas na tabela, e costuma ser pequeno. Tabelas com muitas operações de mudança, especialmente grandes exclusões, têm mais chances de incorrer em custos perceptíveis.