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.dataUser bigquery.dataViewer bigquery.dataEditor bigquery.dataOwner bigquery.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 Explorador, expanda os nós do projeto e do conjunto de dados do conjunto de dados cujas cópias instantâneas de tabelas quer listar.
Pode identificar as imagens instantâneas de tabelas no conjunto de dados pelo respetivo ícone.
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.