Trabalhe com o histórico de alterações

O histórico de alterações do BigQuery permite-lhe acompanhar o histórico de alterações a uma tabela do BigQuery. Pode usar as funções do GoogleSQL para ver tipos específicos de alterações feitas durante um intervalo de tempo especificado, de modo a poder processar alterações incrementais feitas a uma tabela. Compreender as alterações feitas a uma tabela pode ajudar a realizar ações como manter incrementalmente uma réplica da tabela fora do BigQuery, evitando cópias dispendiosas.

Autorizações necessárias

Para ver o histórico de alterações numa tabela, precisa da bigquery.tables.getDataautorização nessa tabela. As seguintes funções de gestão de identidade e de acesso (IAM) predefinidas incluem esta autorização:

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

Se uma tabela tiver ou tiver tido políticas de acesso ao nível da linha, apenas um administrador da tabela pode aceder aos dados do histórico da tabela. A autorização bigquery.rowAccessPolicies.overrideTimeTravelRestrictions é necessária na tabela e está incluída na roles/bigquery.adminfunção de IAM predefinida.

Se uma tabela tiver segurança ao nível da coluna, só pode ver o histórico de alterações nas colunas às quais tem acesso.

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

Pode usar as seguintes funções para compreender o histórico de alterações de uma tabela:

Preços e custos

A invocação de funções do histórico de alterações implica custos de computação do BigQuery. As funções APPENDS e CHANGES requerem o processamento de todos os dados escritos na tabela dentro do intervalo de tempo especificado. Este processamento aplica-se a todas as escritas, incluindo operações de anexação e mutação. Definir a opção enable_change_history de uma tabela como FALSE não reduz os dados processados pelo APPENDS.

Quando define a opção enable_change_history numa tabela como TRUE para usar a função CHANGES, o BigQuery armazena metadados de alteração da tabela. Estes metadados armazenados incorrem em custos de armazenamento do BigQuery e custos de computação do BigQuery adicionais. O valor faturado depende do número e do tipo de alterações feitas à tabela e, normalmente, é pequeno. As tabelas com muitas operações de alteração, especialmente eliminações grandes, são as que têm maior probabilidade de incorrer em custos notórios.