Apresentar instantâneos de tabelas
Este documento descreve como obter uma lista das cópias instantâneas de tabelas num conjunto de dados do BigQuery na consola, consultando a tabela INFORMATION_SCHEMA.TABLE_SNAPSHOTS, usando o comando bq ls ou chamando a API tables.list. Google Cloud Também descreve como listar todas as imagens instantâneas de tabelas de uma tabela de base especificada consultando a tabela INFORMATION_SCHEMA.TABLE_SNAPSHOTS.
Este documento destina-se a utilizadores que conhecem as tabelas do
BigQuery
e os instantes das tabelas.
Autorizações e funções
Esta secção descreve as autorizações de gestão de identidade e acesso (IAM) de que precisa para listar as imagens instantâneas de tabelas num conjunto de dados e as funções de IAM predefinidas que concedem essas autorizações. As autorizações e as funções para as capturas de ecrã da tabela de fichas são as mesmas que as autorizações e as funções necessárias para listar outros tipos de tabelas.
Autorizações
Para listar as imagens instantâneas de tabelas num conjunto de dados, precisa da seguinte autorização:
| Autorização | Recurso |
|---|---|
bigquery.tables.list
|
O conjunto de dados que contém os instantâneos da tabela. |
Funções
As funções predefinidas do BigQuery que concedem a autorização necessária são as seguintes:
| Role | Recurso |
|---|---|
Qualquer uma das seguintes opções: bigquery.dataUserbigquery.dataViewerbigquery.dataEditorbigquery.dataOwnerbigquery.admin
|
O conjunto de dados que contém os instantâneos da tabela. |
Liste as imagens instantâneas de tabelas num conjunto de dados
A obtenção de uma lista de instâncias de tabelas num conjunto de dados é semelhante à listagem de outros tipos de tabelas. As imagens instantâneas da tabela têm o tipo SNAPSHOT.
Pode listar as imagens instantâneas de tabelas através de uma das seguintes opções:
Consola
Na Google Cloud consola, aceda à página BigQuery.
No painel esquerdo, clique em Explorador:

Se não vir o painel do lado esquerdo, clique em Expandir painel do lado esquerdo para o abrir.
No painel Explorador, expanda o projeto, clique em Conjuntos de dados e, de seguida, selecione o conjunto de dados que contém as imagens instantâneas de tabelas que quer listar.
Clique em Vista geral > Tabelas. Para encontrar instantâneos na lista, procure o valor
SNAPSHOTna coluna Tipo.
SQL
Consulte a vista INFORMATION_SCHEMA.TABLE_SNAPSHOTS:
Na Google Cloud consola, aceda à página BigQuery.
No editor de consultas, introduza a seguinte declaração:
SELECT * FROM PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS;
Substitua o seguinte:
PROJECT_ID: o ID do projeto do projeto que contém as capturas instantâneas que quer listar.DATASET_NAME: o nome do conjunto de dados que contém as capturas de ecrã que quer listar.
Clique em Executar.
Para mais informações sobre como executar consultas, consulte o artigo Execute uma consulta interativa.
O resultado tem um aspeto semelhante ao seguinte:
+---------------+----------------+------------------+--------------------+-------------------+-----------------+-----------------------------+ | table_catalog | table_schema | table_name | base_table_catalog | base_table_schema | base_table_name | snapshot_time | +---------------+----------------+------------------+--------------------+-------------------+-----------------+-----------------------------+ | myproject | mydataset | mysnapshot | basetableproject | basetabledataset | basetable | 2021-04-16 14:05:27.519 UTC | +---------------+----------------+------------------+--------------------+-------------------+-----------------+-----------------------------+
bq
Introduza o seguinte comando no Cloud Shell:
bq ls \ PROJECT_ID:DATASET_NAME
Substitua o seguinte:
PROJECT_ID: o ID do projeto do projeto que contém as capturas instantâneas que quer listar.DATASET_NAME: o nome do conjunto de dados que contém as capturas de ecrã que quer listar.
O resultado tem um aspeto semelhante ao seguinte:
+-------------------------+--------+---------------------+-------------------+ | tableId | Type | Labels | Time Partitioning | +-------------------------+--------+---------------------+-------------------+ | mysnapshot |SNAPSHOT| | | +-------------------------+--------+---------------------+-------------------+
API
Chame o método
tables.list
com os seguintes parâmetros:
| Parâmetro | Valor |
|---|---|
projectId |
O ID do projeto do projeto que contém as capturas de ecrã que quer listar. |
datasetId |
O nome do conjunto de dados que contém as capturas de ecrã que quer listar. |
Apresentar a lista de instantâneos de tabelas de uma tabela de base especificada
Pode listar os resumos da tabela de uma tabela base especificada consultando a vista INFORMATION_SCHEMA.TABLE_SNAPSHOTS:
SELECT * FROM PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS WHERE base_table_name = 'books';
Substitua o seguinte:
PROJECT_ID: o ID do projeto que contém as capturas de ecrã que quer listar.DATASET_NAME: o nome do conjunto de dados que contém as imagens instantâneas que quer listar.
O que se segue?
- Receba informações sobre um resumo de tabelas.
- Atualize a descrição, a data de validade ou a política de acesso de uma imagem instantânea de tabela.
- Elimine um instantâneo de tabela.